希望在多对多表(sample_tag(中插入500行。
目的是在sample_tag
中创建500个新记录,将sample
的前500行链接到tag
表中关联的tag_id
。
以下代码似乎有意义,但由于嵌套的SELECT
语句返回多行,因此会触发错误:
INSERT INTO sample_tag (sample_id, tag_id)
VALUES ((SELECT sample_id FROM sample WHERE sample_id <= 500), 1)
什么是正确的SQL来完成对多行的插入?
不使用VALUES
关键字可以进行多次插入。您需要在源表中指定相同数量的列。
INSERT INTO sample_tag (sample_id, tag_id)
SELECT sample_id, tag_id from sample where sample_id<=500