同一张表中复制一条数据

时间:2023-01-15 14:49:50
INSERT INTO 
    pt_puzzle(`puzzle_pid`,`title`,`img`,`release_id`,`author_id`,`release_time`,`author_time`,
    `last_edit_time`,`first_scene_id`,`second_scene_id`,`brand_id`,`style_id`,`type`,`describe`,
    `group_id`,`is_open`,`status`) 
SELECT 
    `puzzle_pid`,`title`,`img`,
    `release_id`,`author_id`,`release_time`,`author_time`,`last_edit_time`,`first_scene_id`,
    `second_scene_id`,`brand_id`,`style_id`,`type`,`describe`,`group_id`,`is_open`,`status` 
FROM 
    pt_puzzle 
WHERE 
    id = $id

简化的写法就是

INSERT INTO 表名 SELECT * FROM 表名 WHERE id = xxx;

因为我的数据表中id是主键,用简化的写法执行的时候提示

Duplicate entry '000004' for key 'PRIMARY'
所以,很无奈的只能把字段都写出来