达梦插入数据时提示字段为空的错误
近期项目中碰到一条insert 语句执行时提示null的报错,而检查该字段没有设置非空约束。
本地模拟相关问题,AAA表结构如下:
插入一条数据时,提示major is null 的错误,而该字段定义是可以为空的
复制和这个表类型一样的表, 验证是否有问题
先执行如下参数,复制是包含表结构,包括主键、索引、约束
sp_set_para_value(1,'CTAB_SEL_WITH_CONS',1);
复制的表执行能正常插入
create table test as select * from aaa;
上面测试说明数据库没问题,应该是表其他地方做了限制
查看表有触发器,触发器定义如下:里面对marjor做了非空限制
select * from user_triggers where table_name='AAA';
将触发器禁用
alter trigger ttt disable;
可以看到,触发器禁用之后,可以正常插入