因此,我需要更新表scores
並使用列won
的更新值更新第二個表tbl_users
。到目前爲止,代碼更新scores
,但使用的won
舊值的第二表更新:一次更新兩個表,使用第一個表中的值
UPDATE scores a
left join tbl_users b on
a.uid = b.userID
SET a.won = CASE
WHEN a.nright = '0' THEN '0'
WHEN a.nright = '1' THEN '25'
WHEN a.nright = '2' THEN '50'
WHEN a.nright = '3' THEN '100'
WHEN a.nright = '4' THEN '200'
WHEN a.nright = '5' THEN '400'
WHEN a.nright = '6' THEN '700'
WHEN a.nright = '7' THEN '1000'
END,
b.pts=b.pts+a.won,
b.pts_total=b.pts_total+a.won
WHERE a.uid=$user AND b.userID=$user
正在更新的字段的實際順序可能與sql語句中指定的順序不同,並且通常在第一次更改之前獲取整個現有記錄。您需要重複使用韓元值在所有其他表達式中計算新韓元值的表達式。 – Shadow
您可以共享架構和示例數據嗎? –