Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql中将整行从一个表复制到另一个表,而第二个表有一个修改过的字段_Mysql - Fatal编程技术网

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

如何在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”。在新表中,在此表末

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

我正在使用以下SQL语句:

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来创建和删除列。通常情况并非如此。在大多数公司中,您必须创建一个它的票证才能为您完成该工作,而这将需要比手动添加字段更多的时间来解决。您还假设获取字段名称的唯一方法是手动键入所有字段。当然,你可以在一次操作中复制粘贴它们。这是一个很好的观点,嗯……在这种情况下,我可以添加字段,但我在不能添加字段的商店工作过,所以你所说的是非常正确的。谢谢你的洞察力。