【发布时间】:2016-12-06 12:58:14
【问题描述】:
我正在寻找一种简单的方法来对表进行更新,仅当同一个表中没有其他列具有我要更新的相同值时,最好是在单个查询中。到目前为止,我收到了一个错误You specify target table 't1' for update in FROM clause。到目前为止,这是我尝试过的几种变体(仍然无法正常工作):
UPDATE emailQueue AS t1
SET
t1.lockedOn = 1470053240
WHERE
(SELECT
COUNT(*)
FROM
emailQueue AS t2
WHERE
t2.lockedOn = 1470053240) = 0
AND t1.lockedOn IS NULL
【问题讨论】:
-
@e4c5 真的没有办法解决这个问题吗?
-
您必须使用该问题中提到的联接以及@Gordon-linoff 发布的答案
标签: mysql sql sql-update conditional