我对以下陈述有一些问题,有人知道吗?
任何意见表示赞赏!
UPDATE tableTx
SET tableTx.ResultCode = 0
WHERE tableTx.id in (SELECT tableTxInfo.id
FROM tableTxInfo
WHERE tableTxInfo.messageId = 'john-to-bob'
and tableTx.ResultCode != 1)
id
oftableTx
和相同(tableTxInfo
用作INTEGER PRIMARY KEY
_tableTx
tableTxInfo
我有大约 40000 条记录messageId = "john-to-bob"
。
当我尝试从两个不同的线程执行上述 SQL 语句时,一个挂起很长时间,另一个线程刚刚得到响应:
事务检测到死锁,事务被回滚。
我对 SQL 和数据库概念不太熟悉。有没有办法防止这种错误?
我的数据库是 IBM soliddb