alter table ...

gxx20111214 2012-04-25 02:58:01
我现在新建一张表 主键没有设置自动增长(因为要导数据进去所以没设置自增),我把数据导完后,现在需要把主键改为自动增长。 好像就是怎么修改表中列的属性...
...全文
162 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxx20111214 2012-04-26
  • 打赏
  • 举报
回复
我用SET IDENTITY_INSERT aa ON和SET IDENTITY_INSERT aa OFF 在测试的时候可以,但做正用的时候又报错说表是ON状态,我先OFF 在ON一下还是报错,唉、蛋痛中...
kingdom_0 2012-04-26
  • 打赏
  • 举报
回复
想要转换成功前提:
1.首先要确保ID列为 int 类型
2.字段ID在已有的结果集中没有重复值
gxx20111214 2012-04-26
  • 打赏
  • 举报
回复
问题已解决,多谢大家的帮忙。本人非常感谢~!

SET IDENTITY_INSERT aa On;//设置自增不起作用

insert into tableName(列名)//注意这里要匹配全部字段 values (添加的值)

SET IDENTITY_INSERT aa Off;//设置自增起作用

首先我就是insert的时候没匹配字段才报错的。。。悲催
happy20101027 2012-04-26
  • 打赏
  • 举报
回复
alter table <tableName> alter column <ColumnName>
gogodiy 2012-04-26
  • 打赏
  • 举报
回复
正如11楼所说,楼主如果你的字段不能满足这2个条件,那是无法设置为自增的。
建议你另外增加一个字段作为自增好了。
PainfulEye 2012-04-26
  • 打赏
  • 举报
回复
你有试过直接用 企业管理器 来修改表中列的属性吗?
在企业管理器中找到要修改的表,右键设计表
选中要修改的列,然后在下面列里面显示的内容里有标识,选为是;标识种子设为1,标识递增量设为1.

我自己试过可行,不知道对于你的情况是不是一样的可行。试之前记得先备份
gxx20111214 2012-04-25
  • 打赏
  • 举报
回复
alter table [group] alter column id int identity(1,1) primary key

消息 156,级别 15,状态 1,第 1 行
关键字 'identity' 附近有语法错误。

[Quote=引用 6 楼 的回复:]

alter table [group] alter column id int identity(1,1) primary key
[/Quote]
gxx20111214 2012-04-25
  • 打赏
  • 举报
回复
alter table [group] alter id bigint identity primary key

消息 102,级别 15,状态 1,第 1 行
'id' 附近有语法错误。
也不行。。。

[Quote=引用 5 楼 的回复:]

这样就好了:
alter table [group] alter id bigint identity primary key
[/Quote]
zczhangchao2003 2012-04-25
  • 打赏
  • 举报
回复
上面那些好像只是用语句将表结构中ID字段改成自增,但是先前导入数据时ID字段是普通字段 且没有赋值,导入数据后发现ID字段不对
是不是要通过语句触发ID字段Update一次(不改变其他字段值) ?
flyfly2008 2012-04-25
  • 打赏
  • 举报
回复
alter table [group] alter column id int identity(1,1) primary key
TracyLeebaihe 2012-04-25
  • 打赏
  • 举报
回复
这样就好了:
alter table [group] alter id bigint identity primary key
gxx20111214 2012-04-25
  • 打赏
  • 举报
回复
alter table [group] alter column id bigint identity primary key

消息 156,级别 15,状态 1,第 1 行
关键字 'identity' 附近有语法错误。

在不删除原表中数据的前提下...

sql server数据库

[Quote=引用 3 楼 的回复:]

SQL code

alter table tablename alter column columnname int identity(1,1) primary key
go
[/Quote]
TracyLeebaihe 2012-04-25
  • 打赏
  • 举报
回复

alter table tablename alter column columnname int identity(1,1) primary key
go
simonxt 2012-04-25
  • 打赏
  • 举报
回复
参考
http://topic.csdn.net/u/20100901/17/d95dd23b-6ed8-436a-8a68-ba1c1f47a0c2.html
lee1988lee 2012-04-25
  • 打赏
  • 举报
回复
PLSQLer飘过

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧