我创造了一个表像这样
CREATE TABLE [dbo].[sydShopOrder](
[rowNumber] [varchar](50) NULL,
[firstName] [varchar](50) NULL,
[lastName] [varchar](50) NULL,
[employeeNumber] [varchar](50) NULL,
[productID] [varchar](50) NULL,
[shopID] [varchar](50) NULL,
[location] [varchar](50) NULL,
[address] [varchar](50) NULL,
[department] [varchar](50) NULL,
[datestamp] [date] NULL
) ON [PRIMARY]
我的本意是使[rowNumber]
主键,使其identity
与自动递增列。 但我忘了做。 而现在的数据库启动并运行在真实环境中。 我发现了这个bug很晚。 有没有什么办法,我可以解决这个问题? 让[rowNumber]
身份和经销商的柱递增呢?
表的当前屏幕截图看起来是这样的
您可以删除[rownumber]
然后用身份加入
Alter Table [dbo].[sydShopOrder] Drop Column rownumber
Go
Alter Table [dbo].[sydShopOrder]
Add rownumber Int Identity(1, 1)
Go
如果你想填充标识字段现有的数据,最好创建另一个临时表,并保留所有记录[dbo].[sydShopOrder]
在这。 之后truncate
[dbo].[sydShopOrder]
,然后从该临时表中插入的值[dbo].[sydShopOrder]
CREATE TABLE #temp ([firstName] [varchar](50) NULL,
[lastName] [varchar](50) NULL,
[employeeNumber] [varchar](50) NULL,
[productID] [varchar](50) NULL,
[shopID] [varchar](50) NULL,
[location] [varchar](50) NULL,
[address] [varchar](50) NULL,
[department] [varchar](50) NULL,
[datestamp] [date] NULL)
INSERT INTO #temp
SELECT [firstName],[lastName],[employeeNumber],
[productID], [shopID],[location],
[address],[department],[datestamp]
FROM [dbo].[sydShopOrder]
TRUNCATE TABLE [dbo].[sydShopOrder]
INSERT INTO [dbo].[sydShopOrder]
SELECT * FROM #temp
下面是一个示例SQLFIDDLE