..界面上改很简单. 为何SQL不行啊..蛋疼死了.T-SQL目前是不支持这个操作的,你干脆就新增加一列,设置为identity属性,然后把主键的那个列的数据塞到新加的那个列,然后把原来的列删了,重新定义主键为新加的那个identity属性的列。有木有SQL语句 = = 小弟新手.. 这个真木有我刚才还特意测试了下木有很遗憾 你看我测试的: alter table A alter column col1 int --成功 alter table A alter column col1 int identity(1,1)--报错
..界面上改很简单. 为何SQL不行啊..蛋疼死了.T-SQL目前是不支持这个操作的,你干脆就新增加一列,设置为identity属性,然后把主键的那个列的数据塞到新加的那个列,然后把原来的列删了,重新定义主键为新加的那个identity属性的列。有木有SQL语句 = = 小弟新手.. 这个真木有我刚才还特意测试了下木有很遗憾 你看我测试的: alter table A alter column col1 int --成功 alter table A alter column col1 int identity(1,1)--报错 ...这个我已经试过了..所以才来问的..
..界面上改很简单. 为何SQL不行啊..蛋疼死了.T-SQL目前是不支持这个操作的,你干脆就新增加一列,设置为identity属性,然后把主键的那个列的数据塞到新加的那个列,然后把原来的列删了,重新定义主键为新加的那个identity属性的列。有木有SQL语句 = = 小弟新手..真要写的话,那只能倒表了,我猜界面操作底层也是倒表--假设表名是TB,要设为自增的列为ID IF OBJECT_ID('TempDB..#Temp')IS NOT NULL DROP TABLE TempDB..#Temp SELECT * INTO TempDB..#Temp FROM TB DROP TABLE TB SELECT IDENTITY(INT,1,1) AS ID2,* INTO TempDB..#Temp FROM TB WHERE 1=2 SET IDENTITY_INSERT TB ON INSERT INTO TB(ID2,ID,其他列名要写出来) SELECT ID,* FROM TempDB..#Temp ALTER TABLE TB DROP COLUMN ID EXEC SP_RENAME 'TB.ID2','ID'仅供参考
也可以重新创建一个新表,但不包括原表中的主键字段,增加一个自增字段名, 然后将原表中除了主键字段的其他对应字段数,通过insert into new_table() select ... from 原表 据依次放入建好的表中,也是一种方案吧,供楼主参考
这个真木有我刚才还特意测试了下木有很遗憾
你看我测试的:
alter table A alter column col1 int --成功
alter table A alter column col1 int identity(1,1)--报错
这个真木有我刚才还特意测试了下木有很遗憾
你看我测试的:
alter table A alter column col1 int --成功
alter table A alter column col1 int identity(1,1)--报错
...这个我已经试过了..所以才来问的..
IF OBJECT_ID('TempDB..#Temp')IS NOT NULL
DROP TABLE TempDB..#Temp
SELECT * INTO TempDB..#Temp FROM TB
DROP TABLE TB
SELECT IDENTITY(INT,1,1) AS ID2,* INTO TempDB..#Temp FROM TB WHERE 1=2
SET IDENTITY_INSERT TB ON
INSERT INTO TB(ID2,ID,其他列名要写出来)
SELECT ID,* FROM TempDB..#Temp
ALTER TABLE TB DROP COLUMN ID
EXEC SP_RENAME 'TB.ID2','ID'仅供参考
然后将原表中除了主键字段的其他对应字段数,通过insert into new_table() select ... from 原表 据依次放入建好的表中,也是一种方案吧,供楼主参考