Mephisto
Aktiver Benutzer
- Beiträge
- 37
Hallo, erstmalig hier im Forum,
weil ich gerade erst begonnen habe, mich mit Datenbanken auseinanderzusetzen, sind meine Erfolge noch mässig, aber durchaus ausbaufähig. Heute habe ich eine in MariaDB auf meinem Rechner eine ca. 1GB grosse TXT-Datei (internationale Stadtetabelle mit Geo-Daten von geonames.org) importiert.
Da es aber einen doppelten Eintrag gibt, ging nach dem manuellen Anlegen der Spalten der Import aber zunächst nicht, weil die erste Spalte als Primary-Key definiert wurde, was ich dann geändert habe, wonach der Import dann auch funktionierte (bis auf die Tatsache, dass die Connection irgendwann am Ende unterbrochen wurde !?).
Jetzt habe ich eine gigantische Tabelle und bei genauem Hinsehen ist mir auch klar geworden, warum das Ding so groß ist (30 Sekunden für eine Suche nach einem Ortsnamen !): Es gibt für viele Ortschaften mehrere Einträge aus unterschiedlichen Quellen mit leicht unterschiedlichen Daten. Dazu werde ich aber nochmal ein 2. Thema aufmachen, wenn ich damit nicht zurecht komme.
Das Hauptproblem ist aber, dass, wenn ich nach dem angemeckerten doppelten "Primary-Key" suche, ich tatsächlich zwei Einträge finde:
Ergebnis:
Wie kann eine dieser Zeilen entfernen ?
Grüße
Mephisto
weil ich gerade erst begonnen habe, mich mit Datenbanken auseinanderzusetzen, sind meine Erfolge noch mässig, aber durchaus ausbaufähig. Heute habe ich eine in MariaDB auf meinem Rechner eine ca. 1GB grosse TXT-Datei (internationale Stadtetabelle mit Geo-Daten von geonames.org) importiert.
Da es aber einen doppelten Eintrag gibt, ging nach dem manuellen Anlegen der Spalten der Import aber zunächst nicht, weil die erste Spalte als Primary-Key definiert wurde, was ich dann geändert habe, wonach der Import dann auch funktionierte (bis auf die Tatsache, dass die Connection irgendwann am Ende unterbrochen wurde !?).
Jetzt habe ich eine gigantische Tabelle und bei genauem Hinsehen ist mir auch klar geworden, warum das Ding so groß ist (30 Sekunden für eine Suche nach einem Ortsnamen !): Es gibt für viele Ortschaften mehrere Einträge aus unterschiedlichen Quellen mit leicht unterschiedlichen Daten. Dazu werde ich aber nochmal ein 2. Thema aufmachen, wenn ich damit nicht zurecht komme.
Das Hauptproblem ist aber, dass, wenn ich nach dem angemeckerten doppelten "Primary-Key" suche, ich tatsächlich zwei Einträge finde:
Code:
SELECT
*
FROM
all_cities
where
`1` = '3039154'
limit 0 , 1000000;
Code:
'3039154', 'El Tarter', 'El Tarter', 'Ehl Tarter,Эл Тартер', '42.57952', '1.65362', 'P', 'PPL', 'AD', '', '02', '', '', '', '1052', '', '1721', 'Europe/Andorra'
'3039154', 'El Tarter', 'El Tarter', 'Ehl Tarter,Эл Тартер', '42.57952', '1.65362', 'P', 'PPL', 'AD', '', '02', '', '', '', '1052', '', '1721', 'Europe/Andorra'
Wie kann eine dieser Zeilen entfernen ?
Grüße
Mephisto