我有一個名爲table1
的表,並且一個columnA
中的值爲X
。因此,當此值爲X
時,我們需要插入2個新行並使用值Z
和Y
更新columnA
。列更新並在同一個表內插入2行
是否可能與insert
和Update
聲明?
我在考慮下面的查詢來更新列,但如何插入兩行。
select * from table1 where columnA = 'x'
Update columnA ='Z'
我有一個名爲table1
的表,並且一個columnA
中的值爲X
。因此,當此值爲X
時,我們需要插入2個新行並使用值Z
和Y
更新columnA
。列更新並在同一個表內插入2行
是否可能與insert
和Update
聲明?
我在考慮下面的查詢來更新列,但如何插入兩行。
select * from table1 where columnA = 'x'
Update columnA ='Z'
您可以使用下面的語句表
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值。你真的需要指定每一列。
我想用y和z值更新列添加2個新行。但是在這裏你正在使用一個select語句。它不起作用 – user2950701
您能否提供樣品原始數據和結果數據? –
什麼似乎是一個問題?你知道如何插入1行嗎? –
是的,我知道如何插入1行,但表中有很多列。普通插入語句我們使用Insert into table1(column1,column2 .....)values(value1,value2 .....); – user2950701
您可以控制插入過程中哪些字段獲取值,其他字段將獲得默認值。 –