如何在mysql中将整行从一个表复制到另一个表,第二个表具有修改的字段

时间:2013-10-23 14:34:23

标签: mysql

我正在开发一个项目,我需要将旧表中包含200多个字段的行导入到新表中,但id字段需要前面加上“5”。

我正在使用此SQL语句:

INSERT INTO brinkoet_dev.property
SELECT liveprop.*
FROM brinkoet_live.property liveprop
WHERE listing_office='Brink'; 

但没有明显的方法可以更改现有字段的内容。

2 个答案:

答案 0 :(得分:1)

在新表格中,将“id”字段重命名为“id_old”。在新表中,在此表的末尾添加“id”字段。然后,您可以执行以下操作:

INSERT INTO brinkoet_dev.property 
    SELECT liveprop.*, CONCAT(5, liveprop.id) 
    FROM brinkoet_live.property liveprop 
    WHERE listing_office='Brink'; 

完成后,只需从新表中删除id_old字段。

答案 1 :(得分:0)

试试这个:

INSERT INTO brinkoet_dev.property
  SELECT concat(5, liveprop.ID), field2, field3
  FROM brinkoet_live.property liveprop
  WHERE listing_office='Brink'

其中field2field3liveprop表的其余字段(不包括ID)。

以下是fiddle供您使用。