私はこのような大きな挿入クエリを持っています:
INSERT INTO video_tags
(vid_id, tag_id)
VALUES
(1,7),
(2,46),
(2,52) Etc. Etc.
ただし、挿入するtag_idsはなく、タグ文字列のみです。したがって、タグIDを挿入するときに、タグIDを検索する必要があります。タグは、次の2つの列を持つルックアップテーブルに格納されます。
+-----+---------+
| id | int |
| tag | varchar |
+-----+---------+
私はこのようなことをしたい:
INSERT INTO video_tags
(vid_id, tag_id)
VALUES
(1, SELECT id FROM tags WHERE tag = 'banana'),
(2, SELECT id FROM tags WHERE tag = 'tree')
(2, SELECT id FROM tags WHERE tag = 'chimps')
...しかし、これは機能せず、とにかく面倒で非効率に見えます。
私もこれが行われるのを見ました:
INSERT INTO video_tags
(vid_id, tag_id)
VALUES
SELECT '1', id FROM tags WHERE tag = 'banana')
...しかし、これを複数の選択で機能させることはできません。