我知道它与语法有关,但我正在寻找一种方法来执行以下操作:
UPDATE modules
SET ServerID = boards.ServerID
FROM boards,modules
WHERE modules.ID = boards.ID
这不起作用。我正在使用MySQL
答案 0 :(得分:3)
试试这个:
UPDATE boards,modules
SET modules.ServerID = boards.ServerID
WHERE modules.ID = boards.ID
在http://dev.mysql.com/doc/refman/5.0/en/update.html
读取MYSQL UPDATE语法您还可以执行覆盖多个表的UPDATE操作....
UPDATE items,month SET items.price=month.price WHERE items.id=month.id;
前面的示例显示了使用逗号的内部联接 运算符,但多表UPDATE语句可以使用任何类型 SELECT语句中允许join,例如LEFT JOIN。
答案 1 :(得分:1)
UPDATE modules
SET ServerID = (SELECT b.ServerID FROM boards b WHERE b.ID = modules.ID)
答案 2 :(得分:1)
UPDATE modules
INNER JOIN boards
ON modules.ID = boards.ID
SET modules.ServerID = boards.ServerID
答案 3 :(得分:-1)
UPDATE语法不包括FROM
FROM用于SELECT。
如果你想把两者结合起来:
UPDATE modules SET ServerID = (SELECT boards.ServerID FROM boards WHERE boards.ID = modules.ID)