SQL复制一行然后更新

时间:2016-06-10 06:49:30

标签: mysql

我需要创建一行的副本,然后更新它。

  NAME      LOCATION    FLAG
  ====      ========    ====
  name1     location1    0
  name2     location2    0

首先我必须选择NAME = name1和LOCATION = location1的行并创建重复行,然后使用新值更新NAME列。

我可以按

选择行

select NAME,LOCATION,FLAG from TABLE where NAME=name1 and LOCATION=location1

所以结果应该是

  NAME      LOCATION    FLAG
  ====      ========    ====
  name1     location1    0
  name2     location2    0
  name3     location1    0

1 个答案:

答案 0 :(得分:3)

您可以直接插入您的选择,只需选择新名称作为名称列的值

INSERT INTO TABLE (Name, Location, Flag) 
    select "New Name",LOCATION,FLAG from TABLE where NAME=name1 and LOCATION=location1