Ik heb een CSV bestand dat ik wil importeren in een MySQL database. De rijen zien er als volgt uit:
9147,"27GA","small_airport","Wilson International Airport",33.6584014892578,-85.0099029541016,1050,"NA","US","US-GA","Carrollton","no","27GA",,"27GA",,,
Ik krijg hem echter niet goed geïmporteerd. Ik heb meerdere manieren geprobeerd. Ik kom het dichste bij wanneer ik voor het volgende kies:
Kolommen gescheiden door: ,
Kolommen omsloten met : (niks)
Kolommen omgezet met wisselteken: \
Regels beëindigd door: auto
Het probleem is nu echter dat ik om alle waardes quotation marks (") krijg, behalve om de cijfers.
create is weer een ander recht.
Dat je dat recht hebt, wil niet zeggen dat je alle andere rechten ook moet hebben.
Daarbij schijnt op shared hosts die hele optie wel eens geblokkeerd te zijn. Mogelijk omdat je daarmee ook vanuit andere accounts zou kunnen lezen, maar dat weet ik niet zeker.
Ik maak waarschijnlijk een (domme) fout. Maar ik snap niet wat er fout gaat. Hoe dan ook, ik heb een oplossing gevonden, namelijk de volgende:
CSV omzetten naar excel bestand, en met deze (http://tools.perceptus.ca/text-wiz.php?ops=7) handige tool omgezet in SQL. Het is wat omslachtig, maar het werkt. In ieder geval bedankt voor jullie hulp!
Maar even naar het begin: de vraag begint met de opmerking dat je de waarden wél ingelezen krijgt, maar dat daar tegen de bedoeling in quotes bij ingelezen worden.
Na wat omzwervingen loop je dan ineens aan tegen een rechten probleem met LOAD DATA INFILE.
Maar in je openingsvraag luktje het inlezen al, maar je had alleen de optie 'Kolommen omsloten met : (niks)' moeten aanpassen naar 'Kolommen omsloten met : " '
Wat min of meer ook in de query's genoemd wordt. (enclosed by '"' )
Daarnaast heb je dat antwoord ook vanmiddag al op Pfz.nl gehad
Dat heb ik allemaal al geprobeerd, maar keer op keer ging het fout. Heb het echt talloze keren geprobeerd. Tabel al aanmaken en waarden inlezen, eerste rij van tabel als kolomnamen etc. Met enclosed by " kreeg ik het probleem dat wanneer rijen lege kolommen hadden in het bestand, dus ",,,," werden deze 4 komma's als waarde in een kolom gezet, met als gevolg dat de laatste kolommen allemaal NULL waren. Omdat dit me op geen enkele manier lukte ben ik naar andere mogelijkheden op zoek gegaan, en het advies om LOAD DATA INFILE te proberen uitgevoerd maar dat lukte dus ook niet. Hoe dan ook, wat wil je hiermee zeggen?