【问题标题】:Update sql table using inner join使用内连接更新 sql 表
【发布时间】:2014-01-14 12:34:54
【问题描述】:

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

所以我想更新我的 users 表并将值 'yes' 设置为归档 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 返回语法错误。 提前致谢!

【问题讨论】:

标签: mysql sql


【解决方案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';

【讨论】:

    【解决方案2】:

    您的操作顺序错误 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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-25
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 2011-05-05
      相关资源
      最近更新 更多