如何在mysql中将整行从一个表复制到另一个表,而第二个表有一个修改过的字段
我正在进行一个项目,需要将包含200多个字段的许多行从一个旧表导入到一个新表中,但是id字段需要在前面加上一个“5” 我正在使用以下SQL语句:如何在mysql中将整行从一个表复制到另一个表,而第二个表有一个修改过的字段,mysql,Mysql,我正在进行一个项目,需要将包含200多个字段的许多行从一个旧表导入到一个新表中,但是id字段需要在前面加上一个“5” 我正在使用以下SQL语句: INSERT INTO brinkoet_dev.property SELECT liveprop.* FROM brinkoet_live.property liveprop WHERE listing_office='Brink'; 但是没有明显的方法可以更改现有字段的内容。在新表中将“id”字段重命名为“id\u old”。在新表中,在此表末
INSERT INTO brinkoet_dev.property
SELECT liveprop.*
FROM brinkoet_live.property liveprop
WHERE listing_office='Brink';
但是没有明显的方法可以更改现有字段的内容。在新表中将“id”字段重命名为“id\u old”。在新表中,在此表末尾添加一个“id”字段。然后您可以执行以下操作:
INSERT INTO brinkoet_dev.property
SELECT liveprop.*, CONCAT(5, liveprop.id)
FROM brinkoet_live.property liveprop
WHERE listing_office='Brink';
完成后,只需从新表中删除id_旧字段。尝试以下操作:
INSERT INTO brinkoet_dev.property
SELECT concat(5, liveprop.ID), field2, field3
FROM brinkoet_live.property liveprop
WHERE listing_office='Brink'
其中field2
和field3
是liveprop
表的其余字段(不包括ID
)
这是一个供你玩的游戏。他说他有200个字段;-),把它们都打出来真是太多了!(见我的解决方案)我明白了。但是你假设的太多了。您假设OP有足够的provideges来创建和删除列。通常情况并非如此。在大多数公司中,您必须创建一个它的票证才能为您完成该工作,而这将需要比手动添加字段更多的时间来解决。您还假设获取字段名称的唯一方法是手动键入所有字段。当然,你可以在一次操作中复制粘贴它们。这是一个很好的观点,嗯……在这种情况下,我可以添加字段,但我在不能添加字段的商店工作过,所以你所说的是非常正确的。谢谢你的洞察力。