2012-01-13 67 views
1

簡單SQL語法問題。我正在編寫一個腳本來將數據從舊模式移動到新模式。我在執行移動時必須關閉完整性約束,因此我的CASCASE s不起作用。我想用一個新值更新多個表,如下所示:在單個sql語句中更新多個表

UPDATE table1, table2 
SET table1.customer_id = 999, table2.customer_id = 999; 
WHERE table1.customer_id = 3 
AND table2.customer_id = 3 

儘管正確的語法是什麼?希望以上解釋我想達到什麼?謝謝 :)。

+0

你的語法也應該有效 - 一旦你在999之後刪除了分號。 – 2013-07-03 17:08:20

回答

4

試試這個:

UPDATE table1 
INNER JOIN table2 USING (customer_id) 
SET table1.customer_id = 999, table2.customer_id = 999 
WHERE table1.customer_id = 3 

決不會更新,以這樣的鍵列試了一下,但是這將適用於其他列,因此值得一試。