oracle數據庫報錯:ORA-00001: 違反唯一約束條件


報錯:

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語句即可插入一條記錄。

 


免責聲明!

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



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