我知道這事做的語法,但我正在尋找一種方式來做到以下幾點:的MySQL更新查詢問題
UPDATE modules
SET ServerID = boards.ServerID
FROM boards,modules
WHERE modules.ID = boards.ID
這並不工作。我使用MySQL
我知道這事做的語法,但我正在尋找一種方式來做到以下幾點:的MySQL更新查詢問題
UPDATE modules
SET ServerID = boards.ServerID
FROM boards,modules
WHERE modules.ID = boards.ID
這並不工作。我使用MySQL
試試這個:
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 items,month SET items.price=month.price WHERE items.id=month.id;
上例顯示使用逗號 運算符的內部聯接,但多表UPDATE語句可以使用SELECT語句(如LEFT JOIN)中允許的任何類型的 聯接。
UPDATE modules
SET ServerID = (SELECT b.ServerID FROM boards b WHERE b.ID = modules.ID)
+1精美的作品:http://www.sqlize.com/6H3lvZk80B – mellamokb
UPDATE語法FROM
不包括是爲SELECT。
,如果你想將二者結合起來:
UPDATE modules SET ServerID = (SELECT boards.ServerID FROM boards WHERE boards.ID = modules.ID)
改寫爲清楚起見 – galchen
UPDATE modules
INNER JOIN boards
ON modules.ID = boards.ID
SET modules.ServerID = boards.ServerID
+1精美的作品:http://www.sqlize.com/Ai4Bo7cixg – mellamokb
你或許應該前綴'ServerID'與'modules'以避免不明確的列引用 – Phil
燁修復謝謝@菲爾 – Gajahlemu
+1精美的作品:http://www.sqlize.com/F5Wla424tg – mellamokb