我的桌子看起来像
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 有没有一种方法可以抑制此错误,而又不使字段可为空并且不删除触发器?否则,我的休眠状态将看到这些异常(即使已进行插入),然后应用程序将崩溃。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
设置默认值Created_By(例如:empty VARCHAR),触发器将始终更新该值。
create table try ( name varchar(8), CREATED_BY varchar(40) DEFAULT '' not null );来源:stack overflow