如何将一行重新插入同一个表中,列数增加+1

时间:2012-10-04 01:38:36

标签: sql db2

如何将一行重新插入同一个表中,列数增加+1

insert into Columns
select columns
where count of column 3 increase by 1 

3 个答案:

答案 0 :(得分:0)

你的意思是这样的:

insert into YourTable (column1, column2, column3, column4)
select column4, column1, column2, column3 from YourTable

在这种情况下,数据将被复制到YourTable,第一列的数据将在第二列,第三列中的第二列......最后一列的数据将位于第一列。

答案 1 :(得分:0)

如果您只想获取一列并逐一增加一列的值,我不明白为什么要将它取出并再次插入,只需UPDATE数据:< / p>

UPDATE sometable
SET somecolumn = somecolumn + 1
WHERE someothercolumn = somevalue

答案 2 :(得分:0)

根据您的评论,您可能只想要一个identity column

如果你创建一个这样的表:

CREATE TABLE myTable (
    id INT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
)

每次在myTable中插入一行时都应如此,新行的id比表中的任何一行都要大。

据推测,您也可以ALTER一个表来添加标识列。

我使用了DB2语法,因为这是标记为的内容。如果您正在使用其他数据库,则语法为much simpler