如何在MySql中复制多个记录?

Max*_*Max 0 mysql sql field record

我在MySql数据库中有一个表"tb_products",字段"ID"作为主键和自动递增; 在SQL中通过ID选择多个记录并使用新增加的ID将它们复制到同一个表中的最佳做法是什么?

Bar*_*mar 10

INSERT INTO tb_products
SELECT NULL id, field1, field2, field3, ...
FROM tb_products
WHERE id IN (id1, id2, id3, ...)
Run Code Online (Sandbox Code Playgroud)

SELECT子句中的字段列表应该是除了之外的所有字段id.

  • `SELECT`中的字段需要与您要插入的表中的字段数相匹配.如果你不想复制`id`,那么你需要`SELECT NULL`,或者在`INSERT`(`INSERT INTO表(field1,field2,...)`中添加一个字段列表). (2认同)