列更新并在同一个表中插入2行

时间:2017-07-26 22:37:46

标签: sql

我有一个名为table1的表格,其中一个columnA的值为X。因此,当此值为X时,我们需要插入2个新行,并使用值columnAZ更新Y

是否可以使用insertUpdate声明?

我在考虑下面的查询来更新列但是如何插入两行。

select * from table1 where columnA = 'x'
Update columnA ='Z' 

1 个答案:

答案 0 :(得分:0)

您可以使用以下语句在表格中插入

INSERT INTO table1
SELECT 'y' columnA,
       columnB,
       columnC,
       ...
  FROM table1
 WHERE columnA = 'x';

INSERT INTO table1
SELECT 'z' columnA,
       columnB,
       columnC,
       ...
  FROM table1
 WHERE columnA = 'x';

但是,当然,您仍需要在WHERE子句中提供条件,以获取您希望在同一个表中复制但具有不同columnA值的特定数据。你真的需要指定每一列。