Mysql
 sql >> Base de données >  >> RDS >> Mysql

Que signifie MySQL par le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1

Votre employee la table a 7 colonnes, mais vous donnez 8 valeurs pour l'insertion, ce qui génère le message d'erreur que vous obtenez.

Une bonne habitude est de lister les colonnes pour insert dans la déclaration. Cela rend ce type d'erreur beaucoup plus facile à repérer, puisque vous n'avez pas besoin de revenir sur la définition de la table (cela empêche également votre requête d'échouer si jamais vous ajoutez de nouvelles colonnes à la table à un moment donné dans le futur - ou supprimer des colonnes existantes).

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);

Remarque :identifiant non cité first-name , visible dans le create table déclaration pour employee , n'est pas valide - car il contient un tiret (- ). Je suppose que c'est une faute de frappe et que vous vouliez dire un trait de soulignement à la place (first_name ).