1

我意识到这个问题似乎已经被问过并回答过,但我仍然不确定这是否可能。

我正在尝试更新 9 个表以反映 user_id 值的变化,有点像这样:

UPDATE table1, table2, table3, table4 SET
table1.id='12', table2.id='12', table3.id='12', table4.id='12'
WHERE table1.id='15' OR table2.id='15' OR table3.id='15' OR table4.id='15'

那可能吗?我错过了一些非常明显的事情吗?

4

4 回答 4

0

UPDATE 的语法是

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

似乎您一次只能更新一个表。

于 2010-12-10T09:43:01.097 回答
0

update 语句与 select 非常相似,所以你应该可以做到!

但是,我建议使用触发器。

于 2010-12-10T09:45:10.950 回答
0

更改ORAND否则您将遇到问题。OR将更新许多其他用户 ID

UPDATE table1, table2, table3, table4 SET
table1.id='12', table2.id='12', table3.id='12', table4.id='12'
WHERE table1.id='15' AND table2.id='15' AND table3.id='15' AND table4.id='15'
于 2010-12-10T09:46:16.267 回答
0

Innodb 存储引擎提供外键级联更新支持 - http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

你应该考虑这个

或者

Break the single query to nine query (each for each table) to minimize potential risk on making mistake (play safe instead of play smart)

于 2010-12-10T10:18:28.633 回答