Se ricevi un messaggio di errore simile a "ERRORE 1136 (21S01):il conteggio delle colonne non corrisponde al conteggio dei valori alla riga 2 ” quando si utilizza il VALUES
istruzione in MySQL, è probabilmente perché c'è una mancata corrispondenza nel numero di colonne specificate in ROW()
clausole.
Per correggere questo errore, assicurati che tutti ROW()
le clausole contengono esattamente lo stesso numero di colonne.
Esempio di errore
Ecco un esempio di codice che produrrà l'errore:
VALUES ROW(1, 2), ROW(3);
Risultato:
ERROR 1136 (21S01): Column count doesn't match value count at row 2
In questo caso, ho passato due valori con il primo ROW()
ma solo un valore con il secondo.
Questo è ciò che ha causato l'errore.
Soluzione
Per correggere l'errore, tutto ciò che dobbiamo fare è assicurarci che tutto ROW()
le clausole contengono lo stesso numero di valori.
Esempio:
VALUES ROW(1, 2), ROW(3, 4);
Risultato:
+----------+----------+ | column_0 | column_1 | +----------+----------+ | 1 | 2 | | 3 | 4 | +----------+----------+
Altre cause dell'errore
Lo stesso errore può verificarsi anche quando si utilizza INSERT
istruzione per inserire il numero errato di colonne in una tabella.
In questi casi, assicurati di inserire il numero corretto di righe. In alternativa, per inserire dati in un numero di colonne inferiore a quello contenuto nella tabella, puoi nominare esplicitamente le colonne per cui inserire i dati.