報錯:
INSERT INTO "B_PLANT_GROW_OTHER"("OTHER_ID", "PLANT_GROW_ID", "WORK_TYPE", "WORK_DESC", "WORK_DATE", "OPERATOR", "CREATE_TIME", "UPDATE_TIME", "CREATE_BY", "UPDATE_BY") VALUES (s_b_plant_grow_other.nextval, '44', '除草', '人工除草', NULL, NULL, NULL, NULL, NULL, NULL) > ORA-00001: 違反唯一約束條件 (GYPTS.SYS_C0015999) > 時間: 0.004s
原因分析:出現這個問題的原因是插入數據的時候,由於之前沒有使用序列插入,而是直接插入了一個比當前序列nextval還大的值,即直接將id寫死了。后面再使用序列插入的時候,如果序列小於該值的話,是可以正常插入的,當序列號等於之前通過ID寫死的方式插入的ID值時,就會出現這種情況。
解決辦法:
通過執行如下sql,讓序列號超過通過ID寫死的方式插入的ID值即可。
SELECT SYS_MENU_SEQ.nextval FROM dual
注意:from后面是dual,不是真實的表。
再執行insert語句即可插入一條記錄。