sql >> データベース >  >> RDS >> Mysql

列数が行1の値数と一致しないというMySQLの意味

    あなたの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-namecreate tableで確認できます employeeの声明 、は無効です-ダッシュ(-が含まれているため) )。これはタイプミスであり、代わりにアンダースコアを意味していると思います(first_name




    1. SQLの重複を削除し、それに応じて関係テーブルを変更します

    2. PostgreSQL、最小日と最大日の間の行数

    3. いつアップデートロックとロック解除を選択しますか?

    4. ユーザーの中止時にMySQLクエリを強制終了します