Heim > Datenbank > MySQL-Tutorial > Warum führt meine SQL-INSERT-Anweisung zu dem Fehler „Spaltenanzahl stimmt nicht mit Wertanzahl überein'?

Warum führt meine SQL-INSERT-Anweisung zu dem Fehler „Spaltenanzahl stimmt nicht mit Wertanzahl überein'?

Susan Sarandon
Freigeben: 2024-12-13 22:34:11
Original
830 Leute haben es durchsucht

Why Does My SQL INSERT Statement Result in a

Unerwartete Fehler beim SQL-Datenimport: „Spaltenanzahl stimmt nicht mit Wertanzahl überein“

Beim Versuch, Daten in zu importieren In einer Datenbank erhalten Sie möglicherweise die Fehlermeldung „Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein.“ Dieses verwirrende Problem kann auftreten, wenn die Anzahl der Werte, die Sie einfügen, nicht mit der Anzahl der Spalten in der Zieltabelle übereinstimmt.

Bedenken Sie den folgenden SQL-Code:

INSERT INTO wp_posts VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>

Beim Versuch, dies auszuführen, erhalten Sie möglicherweise die oben genannte Fehlermeldung. Um die Ursache zu verstehen, analysieren wir die Syntax:

  • INSERT INTO wp_posts...: Diese Anweisung gibt an, dass Sie Daten in die Tabelle wp_posts einfügen möchten.
  • (5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35'): Dies sind die Werte, die Sie einfügen möchten.

Lassen Sie uns nun die Tabellendefinition von wp_posts untersuchen. Angenommen, die Tabelle hat die folgende Struktur:

CREATE TABLE `wp_posts` (
  `ID` int(11) NOT NULL,
  `post_author` int(11) NOT NULL,
  `post_date` datetime NOT NULL,
  `post_date_gmt` datetime NOT NULL,
  ...
);
Nach dem Login kopieren

Wie Sie sehen können, gibt es in der Tabelle „wp_posts“ vier Spalten: ID, post_author, post_date und post_date_gmt. Die Werte, die Sie einzufügen versuchen, geben jedoch nur zwei Spalten an, die der ID und dem Postdatum entsprechen.

Beheben des Fehlers

Um dieses Problem zu beheben, benötigen Sie um alle Spalten in der Tabelle anzugeben, die Sie füllen möchten. Wenn Sie keinen Wert für eine bestimmte Spalte einfügen möchten, können Sie das Schlüsselwort NULL verwenden, um einen fehlenden Wert darzustellen.

Daher wäre die korrekte Syntax zum Einfügen von Daten in die Tabelle wp_posts:

INSERT INTO wp_posts (ID, post_author, post_date, post_date_gmt)<br>VALUES (5, NULL, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>

Durch explizite Angabe aller Wenn Sie die Spalten angeben und NULL für die Spalten angeben, die Sie nicht ändern möchten, können Sie erfolgreich Daten in die Datenbank einfügen, ohne dass eine Diskrepanz bei der Spaltenanzahl auftritt Fehler.

Das obige ist der detaillierte Inhalt vonWarum führt meine SQL-INSERT-Anweisung zu dem Fehler „Spaltenanzahl stimmt nicht mit Wertanzahl überein'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage