mysql - 同じテーブル - SELECTなどの値のINSERT結果



select insert mysql (3)

私はこれがプロシージャまたはサーバー側がデータベースに呼び出すことなく可能であるかどうかを知りたい。

私は、選択した値とサーバーから提供される他の値に基づいてテーブルに値を挿入しようとしています。

select文は複数の結果を返します。

私はINSERT SELECTの存在を認識していますが、SELECT INSERTはありますか? または選択の結果に基づいて挿入する方法?

ありがとうございました

https://src-bin.com


Answer #1

なぜ私は見ていない

INSERT INTO yourtable(col1, col2, col3)
SELECT col1, col2, col3
FROM yourothertable

あなたのために働かない。 しかし、SELECT INTO #temptableを実行して、一時テーブルにクエリを保存してから、挿入する前にそのデータを挿入したり操作したりすることができます。 しかし、これは元々のアイデアを取り巻く長い道のりです。

あなたの質問を誤解していますか?


Answer #2

何が問題であるかは分かりません。

あなたは次のようにすることができます:

INSERT INTO table (columns)
SELECT
  column or column expression1,
  column or column expression2,
  
  constant or constant expression1,
  constant or constant expression2,
  
FROM a set of tables/joins
WHERE 

必ずしもその順序ではない(列、定数)、いいえ。 列は、挿入する列の順序に従うだけで、好きなように定数を組み合わせることができます。

それはあなたが尋ねてきたことでしたか?


Answer #3

はい。 次のクエリを使用します。

INSERT INTO FOO (oof, rab) SELECT (foo, bar) FROM BAR;




insert