下面是我的java代码的一部分,我们使用它将记录插入到表中。
public void insertitem(long item_id, long user_id) throws SQLException
{
PreparedStatement pstmt = null;
StringBuffer sqlB = new StringBuffer();
sqlB.append("INSERT INTO ITEMS ");
sqlB.append("(AIR_ID, ACT_ITEM_ID, USER_ID) ");
sqlB.append(" VALUES ");
sqlB.append("(ITEMS_SEQ.nextval,?,?) ");
try
{
pstmt = conn.prepareStatement(sqlB.toString());
int i=1;
pstmt.setLong(i, item_id);i++;
pstmt.setLong(i, user_id);i++;
pstmt.executeUpdate();
}
catch(SQLException e)
{
throw new SQLException(e.getMessage());
}
}即使使用SEQ.nextval,它仍然抛出以下错误:
java.sql.SQLIntegrityConstraintViolationException:
ORA-00001:违反了唯一约束(ACTTRK.AIR_ID_PK)。**
我如何解决这个问题?
发布于 2021-02-25 15:37:19
设置当前序列值
alter sequence ITEMS_SEQ restart start with <your_max_value+1>; 如果这不起作用
ALTER SEQUENCE ITEMS_SEQ INCREMENT BY <your_max_value>;
select ITEMS_SEQ.nextval from dual;
ALTER SEQUENCE ITEMS_SEQ INCREMENT BY 1;https://stackoverflow.com/questions/66371255
复制相似问题