1

この質問は以前に質問され、回答されたようですが、それが可能かどうかはまだわかりません。

user_id値の変更を反映するために、次のように9つのテーブルを更新しようとしています。

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

一度に 1 つのテーブルしか更新できないようです。

于 2010-12-10T09:43:01.097 に答える
0

update ステートメントは select と非常に似ているので、それができるはずです!

ただし、トリガーを使用することをお勧めします。

于 2010-12-10T09:45:10.950 に答える
0

そうしないと問題が発生しORます。他の多くのユーザー ID を更新しますANDOR

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

あなたはこれを考慮する必要があります

あるいは

1 つのクエリを (テーブルごとに) 9 つのクエリに分割して、潜在的なミスのリスクを最小限に抑えます (スマートにプレイするのではなく、安全にプレイしてください)。

于 2010-12-10T10:18:28.633 に答える