ora-01400 無法將NULL插入 ID 解決方法


問題描述:由於工作原因,把部分 字段改了,大體這樣

1 StatementCallback; uncategorized SQLException for SQL
2  [insert into test(schoolId,classId,teacherId,weekId,serialno,name) values(28529,23402,328717,7,8,'')]; 
3  SQL state [null]; error code [17081]; 批處理中出現錯誤: ORA-01400: 無法將 NULL 插入 ("XXX"."test"."ID")
4 ; nested exception is java.sql.BatchUpdateException: 批處理中出現錯誤: ORA-01400: 無法將 NULL 插入 ("ORAL"."test"."ID")
5  -(:71)

 

這個問題很多時候是沒有為該表建立觸發器導致的,或者是sequence沒建立,或者是trigger沒建立。

建立其中一個或兩個即可。

這是建立sequence

 1 create sequence TEST_SEQ
 2 
 3 minvalue 1
 4 
 5 maxvalue 999999999999999999999999999
 6 
 7 start with 1
 8 
 9 increment by 1
10 
11 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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM