使用一条语句在表中插入多行



希望在多对多表(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

相关内容

最新更新