因此,我需要更新表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
您可以共享架构和示例数据吗? –