CSV-Import / zu langes SQL-Statement??

Und alles was mit phpMyAdmin seine Verwandtschaft findet hat hier seinen Platz.

CSV-Import / zu langes SQL-Statement??

Postby benni4 » 17. September 2011 15:41

hallo zusammen,

ich versuche gerade, ein csv-file per phpmyadmin zu importieren. allerdings scheint das im moment noch nicht wirklich zu funktionieren.

der zu importierende inhalt ist relativ groß -- 129 spalten, 4000+ zeilen...

sobald ich das file importieren möchte, rödelt er eine weile und danach bekomme ich einen fehler ausgegeben, dass das sql-statement fehlerhaft formuliert ist. das angezeigte sql-statement wurde aber mitten in "varchar" abgeschnitten, also nehme ich an, dass es bei 129 spalten zu lange ist...

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(7), `01.01.2001` varchar(7), `01.02.2001` varchar(7), `01.03.2001` varch' at line 1


ist meine vermutung korrekt? gibt es dafür abhilfe??

schonmal vielen dank an alle fürs lesen.

-benni
benni4
 
Posts: 2
Joined: 17. September 2011 15:30

Re: CSV-Import / zu langes SQL-Statement??

Postby Dungeonwatcher » 18. September 2011 13:56

Moin! 8)

benni4 wrote:ich versuche gerade, ein csv-file per phpmyadmin zu importieren. allerdings scheint das im moment noch nicht wirklich zu funktionieren.

der zu importierende inhalt ist relativ groß -- 129 spalten, 4000+ zeilen...


Das ist nichts. :wink:

sobald ich das file importieren möchte, rödelt er eine weile und danach bekomme ich einen fehler ausgegeben, dass das sql-statement fehlerhaft formuliert ist. das angezeigte sql-statement wurde aber mitten in "varchar" abgeschnitten, also nehme ich an, dass es bei 129 spalten zu lange ist...


Nöö, zu lang schon, aber nicht die Spalten.

Code: Select all
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(7), `01.01.2001` varchar(7), `01.02.2001` varchar(7), `01.03.2001` varch' at line 1


ist meine vermutung korrekt? gibt es dafür abhilfe??


varchar ist auf 7 Zeichen gesetzt, der Inhalt dieser Zelle ist aber 9 Zeichen lang. Du musst die Punkte als Trennungszeichen im Datum mitzählen.

Bye
User avatar
Dungeonwatcher
 
Posts: 92
Joined: 15. August 2007 02:53
XAMPP Version: 1.8.2-3
Operating System: XP

Re: CSV-Import / zu langes SQL-Statement??

Postby glitzi85 » 18. September 2011 15:41

Und vielleicht solltest du dir überlegen, ob die Speicherung so sinnvoll ist. Selbst wenn du DATETIME verwendest benötigt das nur 8 Byte. Bei VARCHAR(9) bist du bereits bei 10 Byte und hast noch nichtmal ne Uhrzeit mit gespeichert! Ganz davon abgesehen, dass du mit VARCHAR-Spalten nicht so einfach rechnen kannst wie mit DATETIME oder gar TIMESTAMP-Spalten, von der flexiblen Ausgabemöglichkeit via DATE_FORMAT ganz zu schweigen.

mfg glitzi
User avatar
glitzi85
 
Posts: 1760
Joined: 05. March 2004 23:26
Location: Dahoim

Re: CSV-Import / zu langes SQL-Statement??

Postby benni4 » 18. September 2011 16:56

danke schön für die antworten...

also vom format her passt das schon.. diese datumsfelder sind nur die spaltenüberschriften - da muss ich nicht mit rechnen. der inhalt passt wohl in varchar(7) rein. das hat der auch beim import automatisch so eingestellt... nachträglich müsste ich das ohnehin in float ändern.

aber irgendwie habe ich das schon hinbekommen. habe das csv-file nochmal neu aus dem excel-file exportiert und und die einzige änderung ist meines erachtens gewesen, dass nun spalte 1 auch eine überschrift hat. vielleicht hat er sich daran verschluckt. daraufhin kam zwar eine andere fehlermeldung, aber die konnte ich beheben, indem ich irgendeine package_size konfiguration von 1M auf 1000M geändert habe :)

auf jeden fall nochmal vielen dank für die antworten.

-benni
benni4
 
Posts: 2
Joined: 17. September 2011 15:30


Return to phpMyAdmin

Who is online

Users browsing this forum: No registered users and 1 guest