【发布时间】:2015-09-03 20:58:40
【问题描述】:
我有一个包含现有数据的现有表,我想添加具有自动增量功能的新列(名为 ID),并且我想为每一行添加一个唯一值。
除了获取所有数据并对每一行进行更新以设置此值之外,还有其他方法吗?
【问题讨论】:
标签: sql sql-server
我有一个包含现有数据的现有表,我想添加具有自动增量功能的新列(名为 ID),并且我想为每一行添加一个唯一值。
除了获取所有数据并对每一行进行更新以设置此值之外,还有其他方法吗?
【问题讨论】:
标签: sql sql-server
如果您需要SELECT:
SELECT *, ROW_NUMBER() OVER(ORDER BY ...A ORDER VALUE) as id
FROM yourTable
如果你需要它在你的桌子上:
ALTER TABLE yourTable ADD id int identity(1,1)
这是ALTER TABLE的输出演示:
CREATE TABLE #temp(name nvarchar(50))
INSERT INTO #temp(name) VALUES(N'Kai'),(N'Bernd'),(N'Flo'),(N'Pete')
SELECT * FROM #temp
-- This is what you need to do
ALTER TABLE #temp
ADD id int identity(1,1) -- This will add and fill the new column
SELECT * FROM #temp
DROP TABLE #temp
【讨论】:
identity(1,1)则不是