代码之家  ›  专栏  ›  技术社区  ›  Muhammad Muazzam

插入另一个表中具有自动递增列的记录new table

  •  0
  • Muhammad Muazzam  · 技术社区  · 7 年前

    auto_increment

    CREATE TEMPORARY TABLE tmptable SELECT * 
    FROM  `wp_rg_lead_detail` 
    WHERE lead_id =59;
    UPDATE tmptable SET lead_id =60 WHERE lead_id =59;
    insert into `wp_rg_lead_detail` (`id`, `lead_id`, `form_id`, `field_number`, `value`)
        select `id`, `lead_id`, `form_id`, `field_number`, `value`
        from `tmptable`
        WHERE lead_id =60;
    

    键“PRIMARY”的重复条目“1”

    我需要自动增量文件 id 目标表中的应按上述查询递增。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Mureinik    7 年前

    只需不插入ID,并让列的autoincremenet属性处理它:

    INSERT INTO `wp_rg_lead_detail` 
    (`lead_id`, `form_id`, `field_number`, `value`) -- No Id!
    SELECT `lead_id`, `form_id`, `field_number`, `value`
    FROM   `tmptable`
    WHERE  `lead_id` = 60;