Errore: column count doesn't match value count at row 1 - fix

Ho un database mysql, con una tabella dove vado a fare una semplice insert, in questo modo:

INSERT INTO `my_table` VALUES(3, 18.50, '2020-02-11 09:54:35', 'my text data')

Non appena lancio la query ricevo il seguente messaggio di errore:

column count doesn't match value count at row 1

Come mai ricevo questo errore? Cosa significa? Sulle altre INSERT tutto viene eseguito correttamente e senza errori, come posso risolvere?

Risolta 3
MySql 19-03-2020 3 Risposte 5141 Visite +3

Risposte ( 3 approvate )

  1. Michele Ladonia
    +2
    19-03-2020 16:48:25
    Rispondi

    Il messaggio di errore restituitoti da MySql:

    column count doesn't match value count at row 1

    significa che il numero dei valori (dati) che tu stai cercando di inserire tramite la insert non corrisponde con il numero di colonne presenti nella tabella, e questo può accadere per 2 motivi:

    1. Hai definito meno colonne nella tabella rispetto ai dati che vuoi inserire, in questo ti basta passare alla destra di VALUES il numero corretto di dati, separati da virgola, per veder scomparire l'errore.
    2. La tabella contiene un numero maggiore di colonne rispetto ai dati da inserire, in tal caso nella insert, a sinistra di VALUES devi specificare per quali (ed in numero corrispondente ai dati da inserire) colonne della tabella desideri effettuare l'inserimento, in questo modo: "INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);"

    Ti basterà attenzionare questi due aspetti, capire dove sbagli, ed in un attimo avrai risolto l'errore, ciao.

  2. Federico Di Sutta
    0
    19-03-2020 16:54:06
    Rispondi

    Puoi risolvere l'errore fornendo l'esatto numero di colonne per i dati che vuoi inserire, una query insert strutturata in questo modo:

    INSERT INTO my_table (column1,column2,column3) VALUES (230,'asdf sdaf','asdfs');
  3. Federico Di Sutta
    0
    19-03-2020 16:50:30
    Rispondi

    Banalmente l'errore: column count doesn't match value count at row 1 in mysql significa che il numero di colonne non corrisponde con il numero di dati che vuoi inserire.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Nino Belpiano

Nino Belpiano

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva