使用内部联接更新sql表

时间:2013-12-26 22:02:26

标签: mysql sql

我正在尝试使用内部联接更新我的sql表。 我有2张桌子: userswarnings

所以我想更新我的users表并将值'是'设置为已归档users.awarn 其中users.id_level = '3'和内部联接表warnings使用ID并检查warnings.active = 'yes'

下面是我的命令:

UPDATE users
SET    users.awarn = 'yes'
INNER JOIN warnings
ON users.id = warnings.userid
WHERE users.id_level = '3'
AND warnings.active = 'yes'

但phpmyadmin返回语法错误。 提前谢谢!

2 个答案:

答案 0 :(得分:1)

这是MySQL的正确语法:

UPDATE users INNER JOIN
       warnings
       ON users.id = warnings.userid
    SET users.awarn = 'yes'
    WHERE users.id_level = '3' AND warnings.active = 'yes';

答案 1 :(得分:1)

您的操作顺序错误SET必须在JOIN之后进行,所以:

UPDATE users
INNER JOIN warnings
        ON users.id = warnings.userid
SET  users.awarn = 'yes'
WHERE users.id_level = '3'
AND warnings.active = 'yes'