Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O que o MySQL quer dizer com a contagem de colunas não corresponde à contagem de valores na linha 1


Seu employee table tem 7 colunas, mas você está dando 8 valores para insert, o que gera a mensagem de erro que você está recebendo.

Um bom hábito é listar as colunas para insert na declaração. Isso torna esse tipo de erro muito mais fácil de detectar, pois você não precisa olhar para trás na definição da tabela (também evita que sua consulta falhe se você adicionar novas colunas à tabela em algum momento no futuro - ou elimine as colunas existentes).
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 lateral:identificador sem aspas first-name , que pode ser visto em create table declaração para employee , não é válido - porque contém um traço (- ). Suponho que seja um erro de digitação e você quis dizer um sublinhado (first_name ).