2017-07-26 29 views
0

我有一個名爲table1的表,並且一個columnA中的值爲X。因此,當此值爲X時,我們需要插入2個新行並使用值ZY更新columnA列更新並在同一個表內插入2行

是否可能與insertUpdate聲明?

我在考慮下面的查詢來更新列,但如何插入兩行。

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

什麼似乎是一個問題?你知道如何插入1行嗎? –

+0

是的,我知道如何插入1行,但表中有很多列。普通插入語句我們使用Insert into table1(column1,column2 .....)values(value1,value2 .....); – user2950701

+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值。你真的需要指定每一列。

+0

我想用y和z值更新列添加2個新行。但是在這裏你正在使用一個select語句。它不起作用 – user2950701

+0

您能否提供樣品原始數據和結果數據? –

相關問題