Mysql
 sql >> Database >  >> RDS >> Mysql

Cosa significa MySQL per Il conteggio delle colonne non corrisponde al conteggio dei valori nella riga 1

Il tuo employee la tabella ha 7 colonne, ma stai fornendo 8 valori per l'inserimento, che genera il messaggio di errore che stai ricevendo.

Una buona abitudine è elencare le colonne per insert nella dichiarazione. Questo rende questo tipo di errore molto più facile da individuare, dal momento che non è necessario guardare indietro alla definizione della tabella (impedisce anche che la query non vada a buon fine se in futuro aggiungerai nuove colonne alla tabella - o elimina le colonne esistenti).

INSERT INTO employee(emp_id, first_name, birth_day, sex, salary, super_id, branch_id)
VALUES(100, 'David', 'Wallace', '1967-11-17', 'M', 250000, NULL);

Nota a margine:identificatore senza virgolette first-name , che può essere visto nella create table dichiarazione per employee , non è valido, perché contiene un trattino (- ). Presumo che sia un errore di battitura e tu intendessi invece un trattino basso (first_name ).