mysql - importieren - Die Spaltenanzahl stimmt nicht mit der Anzahl der Werte in Zeile 1 überein




spalten escaped mit (3)

Also lese ich die anderen Beiträge, aber diese Frage ist einzigartig. Also diese SQL-Dump-Datei hat dies als der letzte Eintrag.

INSERT INTO `wp_posts` VALUES(2781, 3, '2013-01-04 17:24:19', '2013-01-05 00:24:19'.

Ich versuche diesen Wert in die Tabelle einzufügen ...

INSERT INTO `wp_posts` VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35'

Es gibt mir den Fehler, "Spaltenanzahl stimmt nicht mit Wertanzahl in Zeile 1 überein." So bin ich auf dem Konzept, wie die Spalte und die Reihe hier gelten, verloren.

Bedeutet 2781,3 nicht Zeile 2781 und Spalte 3? Und bedeutet 5,5 nicht Zeile 5 und Spalte 5?


  1. Sie haben das Komma zwischen zwei Werten oder dem Spaltennamen verpasst
  2. Sie legen zusätzliche Werte oder einen zusätzlichen Spaltennamen an

Der Fehler bedeutet, dass Sie nicht so viele Daten wp_posts wie die Tabelle wp_posts Spalten enthält. Und jetzt weiß die DB-Engine nicht, in welchen Spalten Sie Ihre Daten ablegen sollen.

Um dies zu umgehen, müssen Sie die Namen der Spalten angeben, die Sie ausfüllen möchten. Beispiel:

insert into wp_posts (column_name1, column_name2)
values (1, 3)

Suchen Sie in der Tabellendefinition nach, welche Spalten Sie ausfüllen möchten.

Und insert bedeutet, dass Sie einen neuen Datensatz insert . Sie modifizieren keine bestehende. Verwenden Sie das update dafür.


Sie sollten sich auch neue Trigger ansehen.

MySQL zeigt den Tabellennamen im Fehler nicht an, sodass Sie wirklich im Stich gelassen werden. Hier ist ein funktionierendes Beispiel:

use test;
create table blah (id int primary key AUTO_INCREMENT, data varchar(100));
create table audit_blah (audit_id int primary key AUTO_INCREMENT, action enum('INSERT','UPDATE','DELETE'), id int, data varchar(100) null);
insert into audit_blah(action, id, data) values ('INSERT', 1, 'a');
select * from blah;
select * from audit_blah;
truncate table audit_blah;

delimiter //
/* I've commented out "id" below, so the insert fails with an ambiguous error: */
create trigger ai_blah after insert on blah for each row 
begin 
  insert into audit_blah (action, /*id,*/ data) values ('INSERT', /*NEW.id,*/ NEW.data);
end;//

/* This insert is valid, but you'll get an exception from the trigger: */
insert into blah (data) values ('data1');




sql-insert