2012-01-13 49 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 

决不会更新,以这样的键列试了一下,但是这将适用于其他列,因此值得一试。