mysql错误1364字段没有默认值

我的桌子看起来像


create table try ( name varchar(8), CREATED_BY varchar(40) not null);

然后我有一个触发器来自动填充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

有没有一种方法可以抑制此错误,而又不使字段可为空并且不删除触发器?否则,我的休眠状态将看到这些异常(即使已进行插入),然后应用程序将崩溃。


湖上湖
浏览 1006回答 3
3回答

拉风的咖菲猫

设置默认值Created_By(例如:empty VARCHAR),触发器将始终更新该值。create table try (      name varchar(8),      CREATED_BY varchar(40) DEFAULT '' not null);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL