使用自动增量列从一张表复制

时间:2018-10-08 17:06:17

标签: sql sql-server tsql sql-insert bulkinsert

我想将数据从一个table1复制到table2。 table1没有table2中存在的列之一,但出于我的目的,它必须是唯一的。

到目前为止,我的代码是

set @uidfield=1000;

insert into table2 (column1, colulmn2, column3) 
    select column1, column2, (@uidfield := @uidfield+1) 
    from table1

这将复制大约6000条记录,我没有一种很好的方法来测试我的SQL语句,并且在将其发送给SR分析人员之前,我想确保它的正确性。

谢谢!

1 个答案:

答案 0 :(得分:1)

您在寻找这个吗?

insert into table2 (column1, colulmn2, column3) 
    select column1, column2, 
           1000 + row_number() over (order by (select null))
    from table1;

如果我将您的语法解释为MySQL语法,则这将等同于SQL Server的语法。