ora-01400 无法将NULL插入 ID 解决方法

问题描述:由于工作原因,把部分 字段改了,大体这样

 StatementCallback; uncategorized SQLException for SQL
[insert into test(schoolId,classId,teacherId,weekId,serialno,name) values(28529,23402,328717,7,8,'')];
SQL state [null]; error code [17081]; 批处理中出现错误: ORA-01400: 无法将 NULL 插入 ("XXX"."test"."ID")
; nested exception is java.sql.BatchUpdateException: 批处理中出现错误: ORA-01400: 无法将 NULL 插入 ("ORAL"."test"."ID")
-(:71)

这个问题很多时候是没有为该表建立触发器导致的,或者是sequence没建立,或者是trigger没建立。

建立其中一个或两个即可。

这是建立sequence

 create sequence TEST_SEQ

 minvalue 1

 maxvalue 999999999999999999999999999

 start with 1

 increment by 1

 cache 20;

这是建立trigger的

 CREATE OR REPLACE TRIGGER " TEST_TRI" BEFORE

        INSERT ON TEST

        FOR EACH ROW       

BEGIN

          SELECT test_seq.NEXTVAL INTO :NEW.ID FROM DUAL;

        END;
上一篇:错误代码: 1054 Unknown column 'course' in 'field list'


下一篇:Boost.log