报错:
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语句即可插入一条记录。