根据您的意见,CustomerId
似乎不是IDENTITY专栏。这使事情变得更加棘手,因为不清楚你的主键是如何生成的。对于简单的情况下,你可以使用这样的方法:
-- Retrieve maximum value of CustomerId
DECLARE @maxid int = 0
SELECT @maxid = MAX(CustomerId) FROM Company.Customer
-- When inserting data for column CustomerId add maximum id value and row number
-- This should ensure that the key values do not clash
INSERT INTO Company.Customer (CustomerId, FirstName, LastName)
SELECT ROW_NUMBER() OVER (ORDER BY CustomerId ASC) + @maxid, FirstName, LastName
FROM Company.Customer
WHERE LastName LIKE '%JONES%';
但是,如果你没有没有,我建议使用IDENTITY列的原因 - 它将使事情就好办了。
字段'CustomerId'是IDENTITY字段吗?也是它的MySQL或SQL Server? – dotnetom
主键是独一无二的! –
它是SQL Server。在属性中,它表示主键:真,允许空值:假,计算:假,身份:假,身份种子:0,身份递增:0 – user5171795