2010-02-18 64 views

回答

3

在MySQL中,你可以添加多個表到UPDATE這樣的:

UPDATE `foo`, `bar` 
SET `foo`.`x` = `bar`.`x`, 
    `foo`.`y` = `bar`.`y`, 
    `foo`.`z` = `bar`.`z` 
WHERE `id` = 'baz'; 
+0

謝謝你的回覆! 我製成像這樣的測試: UPDATE'test' SET 'test'.'unique_id' ='store_import'.'unique_id', 'test'.'synced_on' ='store_import'.'synced_on' FROM'store_import' where'store_import'.'entry_id' = 137 這會給出錯誤 #1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第4行'FROM store_import'處'store_import'.'entry_id' = 137'附近使用正確的語法。 您能看到問題出在哪裏嗎? – jerrygarciuh 2010-02-18 15:48:02

+0

是的,自從我發佈它以來,我已經改變了解決方案。我混淆了MySQL和MSSQL。目前的版本是一個。 :-) – Matijs 2010-02-18 15:51:44

+0

好啊。謝謝。將需要很長時間才能查詢所有165列! – jerrygarciuh 2010-02-18 15:58:18

1

您試圖更新foo其中foo.id = bar.baz項目?

UPDATE foo JOIN bar 
SET foo.x=bar.x, foo.y=bar.y 
WHERE foo.id=bar.baz 
+0

注意JOIN與表中的列表相同。 – MindStalker 2010-02-18 15:54:22