如何复制记录,只更改ID?

nea*_*ime 6 sql db2

我的表有很多列.我有一个复制一些数据的命令 - 将其视为克隆产品 - 但由于列可能在将来发生变化,我只想从表中选择所有内容,只需更改一列的值而无需参考其余的部分.

例如,而不是:

INSERT INTO MYTABLE (
SELECT NEW_ID, COLUMN_1, COLUMN_2, COLUMN_3, etc
FROM MYTABLE)
Run Code Online (Sandbox Code Playgroud)

我想要一些类似的东西

INSERT INTO MYTABLE (
SELECT * {update this, set ID = NEW_ID}
FROM MYTABLE)
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

这是iSeries上的DB2数据库,但欢迎任何平台的答案.

Ton*_*ews 10

你可以这样做:

create table mytable_copy as select * from mytable;
update mytable_copy set id=new_id;
insert into mytable select * from mytable_copy;
drop table mytable_copy;
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用SELECT INTO命令执行第一行. (2认同)