如何将一行重新插入同一个表中,列数增加+1
insert into Columns
select columns
where count of column 3 increase by 1
答案 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。