3

EDIT CREATE TEMPORARY TABLE 権限がありません。別の方法はありますか?

MySQL データベースにはUser、列を含むテーブルがありidます。

別のテーブルには、外部キーでUserThingある列がありますuserUser.id

UserThingこのように、特定の行に対して1行を挿入しようとしてUserいます。

INSERT INTO `UserThing` (`user`, `foo`, `bar`)
SELECT `id`, 123, 456 FROM `User` WHERE some_condition;

UserThingの列を潜在的に更新するトリガーがあることを除いて、これで問題ないと確信していますUser。これにより、MySql が許可しない依存関係ループが作成されますが、このトリガーのアクションが直交しsome_conditionていることはわかっているため、実際には問題になりません。

単一の値に対して記述できることはわかっていSELECT @some_var := ...ますが、複数の値に対して機能させることはできません。ローカル変数はこれを修正する正しい方法ですか? もしそうなら、構文は何ですか?そうでない場合、これを行う他の純粋な SQL の方法はありますか?

4

1 に答える 1