MySQL Update Query问题

时间:2011-10-11 23:30:54

标签: mysql sql database

我知道它与语法有关,但我正在寻找一种方法来执行以下操作:

UPDATE modules
SET ServerID = boards.ServerID
FROM boards,modules
WHERE modules.ID = boards.ID

这不起作用。我正在使用MySQL

4 个答案:

答案 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)