1つのクエリを使用して値を2つ以上のテーブルに挿入する

StackOverflow https://stackoverflow.com/questions/2145455

  •  23-09-2019
  •  | 
  •  

質問

mysql qyeryを使用して異なるテーブルに値を挿入することは可能ですか?

正しい解決策はありません

他のヒント

はい。ただし、副作用として他のテーブルに値を挿入するカスタム関数を作成する必要があります。

基本的なアイデアは、関数の結果をテーブルに挿入したいということです。

insert into table (resulting_value) values (my_function(parameters))

詳細を読むことができます 保存された関数 MySQLドキュメントから

ありません 1 それを行うことができるクエリですが、PHPを使用していると仮定すると、最後に挿入された行の主キーを使用して取得できます mysql_insert_id() そして、そのフィールドで2番目のクエリを構築できます。

トリガーを使用してそれを行うことができます(つまり、1つのSQL挿入ステートメントを発行し、次のインサートはデータベースで実行されます)

  1. 後続の挿入値は、前の挿入の値から導出できます
  2. あなたは、そのようなアプローチが生じる可能性のある問題で生きることを気にしません(トリガーが失敗したとき、サイレントインサートの障害、パフォーマンスの問題など。

Insert コマンドは、データのターゲットテーブルを1つ挿入できます...

INSERT INTO target_table () VALUES();

トリガーを使用しているときに、良い回避策を実行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top