このsudoクエリを実行したい:
INSERT INTO table1 (foreign_key, meta_key, meta_value)
VALUES (
(SELECT id FROM table2 WHERE condition = 'met'), 'first meta key', 'first meta value'
)
VALUES (
(SELECT id FROM table2 WHERE condition = 'met'), 'second meta key', 'second meta value'
)
VALUES (
(SELECT id FROM table2 WHERE condition = 'met'), 'third meta key', 'third meta value'
)
SELECT
ステートメントの後の文字列は、の2番目と3番目の引数です。INSERT
INSERT SELECT
シンテックスは基本的に正しいと思いますが、マルチプルについてはよくわかりませんINSERTS
。私は通常のINSERT
ステートメントでこのようにそれを行うことができることを知っていますが、私は条項のSELECT
中にあることについて確信がありませんVALUES
。
私はライブデータベースを使用しており、すべてをバックアップしましたが、直接の実験は最小限に抑えたいと考えています。
UNIONを使用できます。
INSERT INTO table1 (foreign_key, meta_key, meta_value)
SELECT id, 'first meta key', 'first meta value' FROM table2 WHERE condition = 'met'
UNION
SELECT id, 'second meta key', 'second meta value' FROM table2 WHERE condition = 'met'
UNION
SELECT id, 'third meta key', 'third meta value' FROM table2 WHERE condition = 'met'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加