0
我想複製一行並將其插入到具有一些新值的同一張表上。問題是,我的表中有大約50列,所以我的查詢看起來有點愚蠢:重複並插入一行並進行一些修改
insert into DUMBTABLE (
, Col1
, Col2
, Col3
-- 47 rows to go...
.
.
, Col50) select 'new_val1'
,'new_val2'
, Col3
-- 47 rows to go again...
.
.
.
, Col50 from DUMBTABLE where Col1 = 'old_val'
有沒有更好的方式來動態地獲取所有列,並且可以指定whice的人會用新值進行更新?謝謝
ps:我將運行此查詢通過php
。存儲過程目前不是一個選項。
這就是要走的路。 (其他人怎麼知道哪些列要替換/保留?)然而,主要問題是爲什麼你的表有50列?設計不佳的數據庫? – jarlh
@jarlh是數據庫設計得不好,沒有什麼我可以做的:( – RidRoid
)如果你可以使用存儲過程,你可以考慮一個構建動態SQL來完成這個工作的過程,其中一些輸入參數指明瞭哪些列複製/修改。用普通的SQL我相信你不能 – Aleksej