Ungültige Spaltenanzahl in CSV-Eingabe in Zeile 1 Fehler
Lesezeit: 5 Minuten
Teppichfizz
Ich versuche, mit phpMyAdmin eine “.csv”-Datei in eine SQL-Datenbank zu bekommen. Wenn ich es jedoch importiere, erhalte ich den Fehler: Ungültige Spaltenanzahl in der CSV-Eingabe in Zeile 1. Ich habe den ganzen Tag damit verbracht, mit verschiedenen Optionen herumzuspielen, um zu versuchen, es zum Laufen zu bringen, aber ohne Erfolg. Es gibt genau 47 Spalten in meiner .csv-Datei. Ich habe 47 Spalten in meiner SQL-Tabelle erstellt. Die Namen stimmen jedoch nicht genau mit denen in der Datei überein. Immer wenn ich importiere, gibt es mir diesen Fehler. Jede Hilfe wäre sehr willkommen! ~Carpetfizz Eine Sache, von der ich dachte, dass sie das Problem verursachen könnte, war, dass die erste Spalte in meinem Excel-Dokument keinen Namen hat. Könnte dies ein Problem verursachen?
BEARBEITEN 12:30 Uhr: phpMyAdmin ist bereits die neueste Version verfügbar, über (apt-get install phpmyadmin) (phpmyadmin ist bereits die neueste Version)
der Fehler führt Sie vollständig. In Zeile 1 steht, dass Sie mehr Spalten haben, als Sie in Ihrer MySQL-Tabelle erstellt haben.
– Emir
27. April 2013 um 3:29 Uhr
Was ist Ihr Code dafür, möglicherweise auch, versuchen Sie, der ersten Spalte einen Namen zu geben und dann zu importieren
– mukund
27. April 2013 um 3:57 Uhr
@Amir danke für den Hinweis. In der Tabelle (die ich nicht erstellt habe) springen die Spaltennummern von 47 bis 89 und sie sind blau hervorgehoben, irgendwelche Gedanken darüber, was das bedeutet? Hier ist ein Bildschirm davon: i.imgur.com/IJmTZGO.png
– Carpetfizz
27. April 2013 um 4:40 Uhr
Beim Benutzen substr_count() Auf den Kommas in Ihrem Pastebin-CSV zeige ich 87 Kommas, nicht die 46, die in Ihren 47 Spalten stehen würden. – phpfiddle.org/main/code/7ui-wc9
– Sean
27. April 2013 um 5:02 Uhr
Betrachten Sie Ihr Bildschirmbild der Tabelle (i.imgur.com/IJmTZGO.png), wenn es von 47 auf 89 springt, gibt es höchstwahrscheinlich Werte in 48-88, aber die Spalten wurden zusammengeklappt. Versuchen Sie, sie alle erneut zu erweitern, und Sie werden die zusätzlichen Spalten in jeder Zeile sehen.
– Sean
27. April 2013 um 5:10 Uhr
Wenn Ihre DB-Tabelle bereits vorhanden ist und Sie NICHT alle Spalten der Tabelle in Ihre CSV-Datei aufnehmen möchten, müssen Sie beim Ausführen von PHP Admin Import das Feld Spaltennamen in den formatspezifischen Optionen für CSV – angezeigt ausfüllen hier am Ende des folgenden Screenshots.
Zusammenfassend:
Wählen Sie eine CSV-Datei aus
Stellen Sie das Format auf CSV ein
Füllen Sie das Feld Spaltennamen mit den Namen der Spalten in Ihrer CSV-Datei aus
Wenn Ihre CSV-Datei die in Zeile 1 aufgelisteten Spaltennamen enthält, setzen Sie „Diese Anzahl von Abfragen (für SQL) oder Zeilen (für andere Formate) überspringen, beginnend mit der ersten“ auf 1
sollte als richtige Antwort markiert werden. Sie müssen die Spaltennamen angeben.
– Antwort
17. Januar 2017 um 11:45 Uhr
Beste Lösung für mich, wenn Sie eine andere Anzahl von Spalten in der haben .CSV Datei.
– Sébastien Gicquel
27. Juni 2017 um 10:20 Uhr
Vielen Dank! All meine Suche und dies ist die einzig richtige Antwort, die ich gefunden habe. Dies sollte als richtige Antwort markiert werden
– Bitbug
30. Dezember 2017 um 3:03 Uhr
Fest! Ich habe im Grunde nur “Importieren” ausgewählt, ohne selbst eine Tabelle zu erstellen. phpMyAdmin hat die Tabelle für mich mit allen richtigen Spaltennamen aus dem Originaldokument erstellt.
Außerdem bin ich auf das gleiche Problem gestoßen, das du hattest. Ich habe es genau wie Sie behoben, aber Sie haben ein wichtiges Detail ausgelassen. Wenn Sie auf „Importieren“ klicken, stellen Sie sicher, dass sich eine Tabelle in der Datenbank befindet NICHT ausgewählt. Der Datenbankname SOLLTE stattdessen ausgewählt werden.
– kgui
4. Januar 2016 um 18:15 Uhr
@Crt: Ihr Kommentar sollte eine Antwort sein, wenn nicht die akzeptierte!
– E. Villiger
2. Juni 2018 um 11:32 Uhr
Und wenn die Tabelle denselben Namen hat, können Sie auf diesen Tabellennamen klicken, zu Operationen gehen, die Tabelle kopieren und einfach eine Zahl anhängen, um sie anders zu machen, und dann die ursprüngliche Tabelle löschen.
– Eoin
7. August 2018 um 11:43 Uhr
Ich habe den gleichen Fehler beim Importieren einer .csv-Datei mit phpMyAdmin.
Die Lösung für mein Problem war, dass mein Computer die .csv-Datei mit ; (Semikolon) als Trennzeichen anstelle von , (Kommas).
In den formatspezifischen Optionen können Sie jedoch “Spalten getrennt:” auswählen und ; statt , (Komma).
Um zu sehen, wo Ihr Computer die Datei speichert, öffnen Sie die .csv-Datei in einem Texteditor.
Ausgezeichneter Vorschlag! Das Öffnen meiner CSV-Datei in einem Texteditor zeigte, dass meine Datei 12 zusätzliche Spalten hatte, was den Fehler Ungültige Spaltenanzahl auslöste.
– JimB814
31. August 2018 um 20:13 Uhr
Vielen Dank! Ich habe tatsächlich alle Antworten kombiniert: Überspringen Sie die Anzahl der Abfragen, fügen Sie die Spaltennamen hinzu und ändern Sie den Wert “Spaltentrennzeichen” in ; (Semikolon). Hat super funktioniert!
– ArtFranco
25. Februar 2021 um 14:15 Uhr
Sie müssen die erste Zeile überspringen (wo Spaltennamen definiert sind) und Sie müssen überprüfen, welches “Zeichen” Zellen trennt (normalerweise ,aber in meinem Fall war ;)
Was Sie tun möchten, ist, “Fields ended by” von “;” zu ändern. zu “,” und vergewissern Sie sich dann, dass “Use LOCAL keyword” ausgewählt ist.
Dies ist eine super unterschätzte Antwort. Mein Problem behoben. Vielen Dank!! 🙂
– michaelmcgurk
25. September 2020 um 9:43 Uhr
“#1148 – Der verwendete Befehl ist mit dieser MySQL-Version nicht erlaubt”, heißt es (meine MySQL-Version scheint “5.7.29-32-log” zu sein).
– anpami
19. Dezember 2020 um 13:33 Uhr
PS
Wenn bei Eingabedateien jeglicher Art Fehler auftreten, Codierungsprobleme sind üblich.
Eine einfache Lösung könnte darin bestehen, eine neue Datei zu öffnen, Ihren CSV-Text zu kopieren, einzufügen und ihn dann als neue Datei zu speichern.
Dies ist eine super unterschätzte Antwort. Mein Problem behoben. Vielen Dank!! 🙂
– michaelmcgurk
25. September 2020 um 9:43 Uhr
“#1148 – Der verwendete Befehl ist mit dieser MySQL-Version nicht erlaubt”, heißt es (meine MySQL-Version scheint “5.7.29-32-log” zu sein).
– anpami
19. Dezember 2020 um 13:33 Uhr
Cody O’Dell
Ich hatte gerade dieses Problem und stellte fest, dass leere Spalten als Spalten mit Werten behandelt wurden. Ich sah dies, indem ich meine CSV in meinem Texteditor öffnete. Um dies zu beheben, öffnete ich meine Tabelle und löschte die Spalten nach meiner letzten Spalte, sie sahen völlig leer aus, waren es aber nicht. Nachdem ich dies getan hatte, funktionierte der Import einwandfrei.
13214900cookie-checkUngültige Spaltenanzahl in CSV-Eingabe in Zeile 1 Fehleryes
der Fehler führt Sie vollständig. In Zeile 1 steht, dass Sie mehr Spalten haben, als Sie in Ihrer MySQL-Tabelle erstellt haben.
– Emir
27. April 2013 um 3:29 Uhr
Was ist Ihr Code dafür, möglicherweise auch, versuchen Sie, der ersten Spalte einen Namen zu geben und dann zu importieren
– mukund
27. April 2013 um 3:57 Uhr
@Amir danke für den Hinweis. In der Tabelle (die ich nicht erstellt habe) springen die Spaltennummern von 47 bis 89 und sie sind blau hervorgehoben, irgendwelche Gedanken darüber, was das bedeutet? Hier ist ein Bildschirm davon: i.imgur.com/IJmTZGO.png
– Carpetfizz
27. April 2013 um 4:40 Uhr
Beim Benutzen
substr_count()
Auf den Kommas in Ihrem Pastebin-CSV zeige ich 87 Kommas, nicht die 46, die in Ihren 47 Spalten stehen würden. – phpfiddle.org/main/code/7ui-wc9– Sean
27. April 2013 um 5:02 Uhr
Betrachten Sie Ihr Bildschirmbild der Tabelle (i.imgur.com/IJmTZGO.png), wenn es von 47 auf 89 springt, gibt es höchstwahrscheinlich Werte in 48-88, aber die Spalten wurden zusammengeklappt. Versuchen Sie, sie alle erneut zu erweitern, und Sie werden die zusätzlichen Spalten in jeder Zeile sehen.
– Sean
27. April 2013 um 5:10 Uhr