<id name="logId" type="java.lang.Long">
<column name="LOG_ID" precision="20" scale="0" />
<generator class="sequence">
<param name="sequence">TRANS_LOG_ID</param>
<param name="allocationSize">100</param>
</generator>
</id>
public synchronized static void saveTransLog(String detail, String stage) {
TransLog transLog = new TransLog();
transLog.setDetail(detail);
transLog.setStage(stage);
...
TransLogService.save(transLog);
}
我想知道对于这些类型的多线程场景是否有更可靠的锁处理。或者我需要添加一些东西来修复我的约束违规。
非常感谢。
可能是序列的当前值与行的主键冲突。您可以使用以下查询来验证这一点。
SELECT trans_log_id.curr_val FROM dual;
并将此数字与列log_id
的最大值进行比较。
这两个值应该相等,或者序列的当前值应该更大。如果序列的当前值较小,则使用语句trans_log_id.next_val
递增序列的值。
以下是SQL部分,我在调试代码时出错: ORA-00001:唯一约束主键违反T_LIAV_AGENT_STATE_APPROVAL... 这是主键约束依赖的2列AV_NAME_ID,AV_STATE... 我没有重复的数据...你认为还有其他原因吗?
我正试图插入数据库,但我在日志上看到了这样的消息: 我找到了这个查询以获取违反的密钥:
我有两张表, 但我做了一个组声明,以确保from\t的名称是唯一的: 我不确定我是否正确理解了这个问题。我尽了我所能,但仍然没有运气。
我有一个笑话模型: 现在,当我试图迁移最后一行时,我得到了错误。基本上,我想将一个用户链接到Joke对象,因为我已经有了一个数据库,所以我希望默认值为1,这是管理员用户的id(我检查过了...).Makemigrations工作正常,但是当我尝试迁移时,我得到了这个: 我真的不明白怎么了。有什么想法吗?
我在django应用程序中创建了一个模型,并从pgadmin将数据填充到表中,但现在当我试图从应用程序创建记录时,它抛出了这个完整性错误: 重复的键值违反了唯一约束“packsapp_foo_pkey” 详细信息:键(id)=(4)已经存在。 这是models.py 我是否总是必须从应用程序本身插入数据? Views.py