私のテーブルがMySQLエラー1364フィールドは、デフォルト値
create table try (name varchar(8), CREATED_BY varchar(40) not null);
のように見えてきていないと、私はautoにトリガを持っているがCREATED_BYフィールドに
create trigger autoPopulateAtInsert BEFORE INSERT on try for each row set new.CREATED_BY=user();
を移入します
insert into try (name) values ('abc');
エントリはテーブルに行われるが、私はまだエラーメッセージが表示されます
Field 'CREATED_BY' doesn't have a default value Error no 1364
フィールドをヌル可能にしないでこのエラーを抑制する方法はありますか?トリガーを削除しないでください。さもなければ私の休止状態は(挿入がなされているにもかかわらず)これらの例外を見るでしょう、そして、アプリケーションはクラッシュします。
? –
テーブルの定義にデフォルト値が必要です( )create table try(name varchar(8)、CREATED_BY varchar(40)DEFAULT '' not null) – KinSlayerUY
これはルートの問題を解決しません。下のPhyxxのはるかに広範な答えを見てください。 – csvan