日期:2014-05-17  浏览次数:20405 次

alter table ...
我现在新建一张表 主键没有设置自动增长(因为要导数据进去所以没设置自增),我把数据导完后,现在需要把主键改为自动增长。 好像就是怎么修改表中列的属性...

------解决方案--------------------
PLSQLer飘过
------解决方案--------------------
参考
http://topic.csdn.net/u/20100901/17/d95dd23b-6ed8-436a-8a68-ba1c1f47a0c2.html
------解决方案--------------------
SQL code

alter table tablename alter column columnname int identity(1,1) primary key
go

------解决方案--------------------
这样就好了:
alter table [group] alter id bigint identity primary key
------解决方案--------------------
alter table [group] alter column id int identity(1,1) primary key
------解决方案--------------------
上面那些好像只是用语句将表结构中ID字段改成自增,但是先前导入数据时ID字段是普通字段 且没有赋值,导入数据后发现ID字段不对
是不是要通过语句触发ID字段Update一次(不改变其他字段值) ?
------解决方案--------------------
你有试过直接用 企业管理器 来修改表中列的属性吗?
在企业管理器中找到要修改的表,右键设计表
选中要修改的列,然后在下面列里面显示的内容里有标识,选为是;标识种子设为1,标识递增量设为1.

我自己试过可行,不知道对于你的情况是不是一样的可行。试之前记得先备份
------解决方案--------------------
想要转换成功前提:
1.首先要确保ID列为 int 类型
2.字段ID在已有的结果集中没有重复值
------解决方案--------------------
正如11楼所说,楼主如果你的字段不能满足这2个条件,那是无法设置为自增的。
建议你另外增加一个字段作为自增好了。
------解决方案--------------------
alter table <tableName> alter column <ColumnName>