我创建了一个名为Company的数据库和一个名为EmployeesTD的表,忘了将自动增量添加到我的EmployeeID行,如何更新我的表以添加自动增量
答案 0 :(得分:0)
1)使用临时名称和自动增量字段
创建新表2)将旧表中的所有数据移动到新表中(使用identity_insert)
3)放下旧桌子
4)将新表重命名为原始名称
(如果你有任何索引,别忘了添加你的索引。如果你这样做,你可以添加它们以避免不必要的索引重建。)
答案 1 :(得分:0)
alter table t1
add somename int identity(1,1)
或者
create table dummytable
(
id int identity(1,1)
somecols --
)
insert into dummytable
select colnames from orginaltable
最后添加索引并将dummy重命名为原始
如果表有大量数据,我会采用第二种方法,因为第一次操作可能会完全锁定表
答案 2 :(得分:0)
您可以运行此ALTER TABLE
查询
ALTER TABLE EmployeesTD ADD id INT IDENTITY(1,1)
即使您在EmployeesTD
表中有记录,上述语句也会填充每行的唯一值
使用Identity
函数的另一种方法
-- 1. create a temporary table
SELECT IDENTITY(int, 1, 1) AS id,
*
INTO temp_EmployeesTD
FROM EmployeesTD
-- 2. drop the orginal table
DROP TABLE EmployeesTD
-- 3. rename the temporary table to orginal table
EXEC Sp_rename
'temp_EmployeesTD',
'EmployeesTD'
-- 4. Recreate the indexes if any
答案 3 :(得分:0)
ALTER TABLE Table_name MODIFY COLUMN col_name INT auto_increment