Heim > Datenbank > MySQL-Tutorial > Hauptteil

Die Spaltenanzahl stimmt nicht mit der Wertanzahl in Zeile 1 überein – So beheben Sie den MySQL-Fehler: Die Spaltennummer stimmt nicht mit dem Wert überein

PHPz
Freigeben: 2023-10-05 11:40:54
Original
2217 Leute haben es durchsucht

Column count doesn't match value count at row 1 - 如何解决MySQL报错:列数与值不匹配

So beheben Sie den MySQL-Fehler: Die Anzahl der Spalten stimmt nicht mit dem Wert überein, es sind spezifische Codebeispiele erforderlich

Bei der Verwendung der MySQL-Datenbank für Datenoperationen wird manchmal die Fehlermeldung „Spalte Die Anzahl stimmt nicht mit der Anzahl der Werte in Zeile 1 überein. Dies bedeutet, dass die Anzahl der Spalten nicht mit der Anzahl der Werte übereinstimmt. Dieser Fehler tritt normalerweise auf, wenn Daten eingefügt werden und die Anzahl der angegebenen Spalten nicht mit der Anzahl der eingefügten Werte übereinstimmt. In diesem Artikel werden spezifische Problemumgehungen beschrieben und Codebeispiele bereitgestellt.

  1. Überprüfen Sie, ob die Anzahl der Spalten und die Anzahl der Werte übereinstimmen.
    Zuerst müssen wir prüfen, ob die in der Einfügeanweisung angegebene Anzahl der Spalten und die Anzahl der eingefügten Werte übereinstimmen. Wenn in der INSERT-Anweisung beispielsweise 5 Spalten angegeben sind, muss die Anzahl der eingefügten Werte ebenfalls 5 betragen. Wenn sie nicht übereinstimmen, wird ein Fehler ausgelöst.

Das Folgende ist ein Beispiel:

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2);
Nach dem Login kopieren

In diesem Beispiel gibt die Einfügeanweisung 3 Spalten an (Spalte1, Spalte2, Spalte3), fügt aber nur 2 Werte ein (Wert1, Wert2), sodass ein Fehler ausgelöst wird. „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein.“

Um dieses Problem zu lösen, müssen wir sicherstellen, dass die Anzahl der in der Einfügeanweisung angegebenen Spalten mit der Anzahl der eingefügten Werte übereinstimmt. Im obigen Beispiel können wir die insert-Anweisung wie folgt ändern:

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
Nach dem Login kopieren

Dadurch wird der Fehler behoben.

  1. Wenn Sie mehrere Datenzeilen einfügen
    Wenn Sie mehrere Datenzeilen einfügen möchten, müssen Sie sicherstellen, dass die Anzahl der Spalten und Werte in jeder Zeile konsistent ist. Wenn beispielsweise in der Einfügeanweisung 3 Spalten angegeben sind, muss die Anzahl der in jede Zeile eingefügten Werte ebenfalls 3 betragen.

Hier ist ein Beispiel:

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2), (value3, value4, value5);
Nach dem Login kopieren

In diesem Beispiel gibt die Einfügeanweisung 3 Spalten an (Spalte1, Spalte2, Spalte3), aber die erste Zeile fügt 2 Werte ein (Wert1, Wert2) und die zweite Zeile fügt dort ein sind 3 Werte (Wert3, Wert4, Wert5), daher wird der Fehler „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“ ausgelöst.

Um dieses Problem zu lösen, müssen wir sicherstellen, dass die Anzahl der in jede Zeile eingefügten Werte mit der angegebenen Anzahl von Spalten übereinstimmt. Im obigen Beispiel können wir die insert-Anweisung wie folgt ändern:

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3), (value4, value5, value6);
Nach dem Login kopieren

Dadurch wird der Fehler behoben.

  1. Standardwerte oder NULL verwenden
    Wenn bestimmte Spalten in der Einfügeanweisung angegeben sind, aber keine entsprechenden Werte bereitgestellt werden, können Sie die Verwendung von Standardwerten oder NULL in Betracht ziehen, um den Fehler zu beheben. Wenn die Einfügeanweisung für Spalten mit Standardwerten keinen Wert angibt, wird der Standardwert verwendet. Für Spalten, die NULL zulassen, kann NULL explizit in der Einfügeanweisung angegeben werden.

Das Folgende ist ein Beispiel:

INSERT INTO table_name (column1, column2, column3) VALUES (value1, DEFAULT, value3);
Nach dem Login kopieren

In diesem Beispiel gibt die Einfügeanweisung 3 Spalten an (Spalte1, Spalte2, Spalte3), aber die zweite Spalte stellt keinen spezifischen Wert bereit, sondern verwendet das Schlüsselwort DEFAULT, um den Standardwert zu verwenden . So können Sie Fehler vermeiden.

  1. Verwenden Sie die INSERT INTO SELECT-Anweisung.
    Wenn Sie Daten aus anderen Tabellen zum Einfügen auswählen möchten und die Anzahl der Spalten und die Anzahl der Werte inkonsistent sind, können Sie die Verwendung der INSERT INTO SELECT-Anweisung in Betracht ziehen.

Hier ist ein Beispiel:

INSERT INTO table_name (column1, column2) SELECT column1, column2 FROM other_table;
Nach dem Login kopieren

In diesem Beispiel gibt die Einfügeanweisung zwei Spalten an (Spalte1, Spalte2), aber die ausgewählten Daten stammen aus der Tabelle other_table und enthalten mehr Spalten. Mithilfe der INSERT INTO SELECT-Anweisung können wir die erforderlichen Spalten zum Einfügen auswählen und so das Problem der Inkonsistenz zwischen der Anzahl der Spalten und der Anzahl der Werte vermeiden.

Zusammenfassung:
Wenn der MySQL-Fehler „Spaltenanzahl stimmt nicht mit der Werteanzahl in Zeile 1 überein“ auftritt, können wir das Problem mit den folgenden Methoden lösen:

  • Überprüfen Sie, ob die Anzahl der Spalten und die Anzahl der Werte Übereinstimmung;
  • Stellen Sie sicher, dass Sie mehr Zeilendaten einfügen. Die Anzahl der Spalten und Werte in jeder Zeile ist konsistent.
  • Verwenden Sie die INSERT INTO SELECT-Anweisung um die gewünschten Spalten zum Einfügen auszuwählen.
  • Die oben genannten Methoden sind einige Methoden zur Behebung des MySQL-Fehlers „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein“ und stellen spezifische Codebeispiele bereit. Hoffe das hilft!

Das obige ist der detaillierte Inhalt vonDie Spaltenanzahl stimmt nicht mit der Wertanzahl in Zeile 1 überein – So beheben Sie den MySQL-Fehler: Die Spaltennummer stimmt nicht mit dem Wert überein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage