あなたのemployee
テーブルには7つの列がありますが、挿入に8つの値を指定しているため、表示されるエラーメッセージが生成されます。
insert
の列をリストするのが良い習慣です ステートメントで。これにより、テーブルの定義を振り返る必要がないため、このタイプのエラーを簡単に見つけることができます(また、将来、テーブルに新しい列を追加した場合にクエリが失敗するのを防ぐことができます-または既存の列を削除します。
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);
補足:引用符で囲まれていない識別子first-name
、create table
で確認できます employee
の声明 、は無効です-ダッシュ(-
が含まれているため) )。これはタイプミスであり、代わりにアンダースコアを意味していると思います(first_name
。