Die Anzahl der SQL-Spalten stimmt nicht mit der Anzahl der Werte überein

7

Ich habe diese Tabelle:

%Vor%

und dieses Einfügen

%Vor%

und ich erhalte eine Fehlermeldung "Spaltenanzahl stimmt nicht mit einem Zeilenwert überein". Es sollte gut funktionieren, da der Primärschlüssel auto_increment ist.

    
Tower 21.04.2011, 15:19
quelle

6 Antworten

12

Wenn Sie ein automatisch inkrementierendes Feld haben, möchten Sie normalerweise keinen Wert für diese Spalte angeben. Das bedeutet, dass Sie diesen Wert aus dem VALUES

entfernen

Wenn Johan jedoch darauf hinweist, dass die Anzahl der Spalten in der Tabelle nicht mit der Anzahl der Spalten übereinstimmt, müssen Sie die Spaltenliste in der Zieltabelle angeben.

Es empfiehlt sich, dies trotzdem zu tun, falls sich die Anzahl der Spalten oder Spaltenreihenfolge ändert

%Vor%     
Conrad Frix 21.04.2011, 15:20
quelle
6

Sie müssen die Spaltennamen angeben, wenn die Anzahl der Werte nicht der Anzahl der Spalten entspricht:

%Vor%     
David Tang 21.04.2011 15:20
quelle
4

Sie müssen die Spalten angeben, in die Sie einfügen. Wenn Sie dies nicht tun, geht die Datenbank davon aus, dass die Werte, die Sie angeben, Werte für jede Spalte und in der exakten Reihenfolge der Spalten gemäß dem Schema sind. Versuchen Sie die folgende Erklärung.

%Vor%

Außerdem sollten Sie immer die Spalten in einer insert-Anweisung angeben. Es hilft für die Lesbarkeit.

    
John Hartsock 21.04.2011 15:20
quelle
0

Versuchen Sie Folgendes:

%Vor%

Sie geben nicht die Spalten an, von denen es 2 gibt, und versuchen, einen Wert einzufügen.

    
gmadd 21.04.2011 15:21
quelle
0

vielleicht, wenn Sie das tun

%Vor%     
Eric Frick 21.04.2011 15:22
quelle
0

Sie können dies tun

%Vor%

Dies entspricht der Anzahl der Spalten und ignoriert die Null-Einfügung in die automatische Inkrement-ID und fügt den auto increment -Wert ein;

    
yaswanth 30.05.2017 06:37
quelle

Tags und Links