我想一次更新两个表。下面的代码似乎工作正常。但是,在某些情况下,bidGroups中没有条目,这意味着整个语句会失败。我如何调整,以便它更新的第一位(watchedItems)并不会尝试第二部分,如果watchedItems.bidGroupID IS NULL同时为两个表创建条件SQL更新语句
UPDATE watchedItems, bidGroups
SET watchedItems.won=1, bidGroups.bidGroupQty=bidGroups.bidGroupQty-1
WHERE watchedItems.id=2
AND watchedItems.aid=200618152822
AND bidGroups.bidGroupID=watchedItems.bidGroupID
AND bidGroups.id=2;
我想这一点,但语法错了..
UPDATE watchedItems, bidGroups
SET watchedItems.won=1,
CASE WHEN watchedItems.bidGroupID IS NOT NULL THEN bidGroups.bidGroupQty=bidGroups.bidGroupQty-1
ELSE END
WHERE watchedItems.id=2
AND watchedItems.aid=200618152822
AND bidGroups.bidGroupID=watchedItems.bidGroupID
AND bidGroups.id=2
就是这样。完美的作品。非常感谢Abhay。现在我了解JOIN的时间了:-) – 2011-06-15 19:03:37