Twój employee
tabela ma 7 kolumn, ale podajesz 8 wartości do wstawienia, co generuje komunikat o błędzie, który otrzymujesz.
Dobrym zwyczajem jest wypisanie kolumn dla insert
w oświadczeniu. To sprawia, że tego typu błąd jest znacznie łatwiejszy do wykrycia, ponieważ nie musisz patrzeć wstecz na definicję tabeli (zapobiega to również niepowodzeniu zapytania, jeśli kiedykolwiek dodasz nowe kolumny do tabeli w pewnym momencie w przyszłości - lub upuść istniejące kolumny).
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);
Uwaga dodatkowa:nie cytowany identyfikator first-name
, który można zobaczyć w create table
oświadczenie dla employee
, jest nieprawidłowy — ponieważ zawiera myślnik (-
). Zakładam, że to literówka i zamiast tego chodziło Ci o podkreślenie (first_name
).