修改字段类型为“标识”,并设置该字段为主键的SQL语句怎么写

主  题: 修改字段类型为“标识”,并设置该字段为主键的SQL语句怎么写??
作  者: china_skag ()
等  级:  
信 誉 值: 100
所属论坛: MS-SQL Server 疑难问题
问题点数: 20
回复次数: 11
发表时间: 2006-7-28 14:26:56
   
 
   

如题!
 
 回复人:LouisXIV(夜游神) ( ) 信誉:1002006-7-28 14:38:54得分:0
 
 
?

Unable to alter a column into identity field
Top
 
 回复人:liangpei2008(逍遥叹) ( ) 信誉:1002006-7-28 14:50:59得分:0
 
 
?

将字段删除了重建

Top
 
 回复人:china_skag() ( ) 信誉:1002006-7-28 14:56:23得分:0
 
 
?

在线等待。。。。。
Top
 
 回复人:hellowork(一两清风) ( ) 信誉:1002006-7-28 15:06:53得分:0
 
 
?

要成为IDENTITY标识列的列只能先被删除然后再添加同名列.
----删除列
alter table tablename drop COLUMN id
GO
----添加IDENTITY列
alter table tablename add id int identity(1,1)
GO
----设置IDENTITY列为主键
alter table tablename add constraint [PK_tablename] PRIMARY KEY CLUSTERED ([id])
Top
 
 回复人:china_skag() ( ) 信誉:1002006-7-28 15:39:34得分:0
 
 
?

[PK_tablename] 表示什么?
如果又有一个表:title
列名:id name type content addtime

其中ID是INT类型

我现在想修改ID为标识(IDENTITY)且为主键(PRIMARY KEY),改如何写SQL语句?

以下是我写的,对吗?请指教。

alter table title drop COLUMN id
GO
alter table title add id int identity(1,1)
GO
alter table title add constraint [PK_tablename] PRIMARY KEY CLUSTERED ([id])


Top
 
 回复人:hellowork(一两清风) ( ) 信誉:1002006-7-28 15:45:07得分:0
 
 
?

把PK_tablename中的tablename换成title就行了,例如:
alter table title add constraint [PK_title] PRIMARY KEY CLUSTERED ([id])
tablename只是占位符,使用时换成具体的表对象名.
Top
 
 回复人:LouisXIV(夜游神) ( ) 信誉:1002006-7-28 15:45:26得分:0
 
 
?

[PK_tablename] 表示什么?
-----------------------
It just a name for the Primary Key, You can name it as any string you can imagine.
Top
 
 回复人:china_skag() ( ) 信誉:1002006-7-28 15:48:55得分:0
 
 
?

非常感谢,hellowork(一两清风) ,LouisXIV(夜游神) !
Top
 
 回复人:hellowork(一两清风) ( ) 信誉:1002006-7-28 15:51:11得分:0
 
 
?

[PK_title]是主键约束名.
在SQLSERVER中,主键、外键、默认值、触发器、存储过程、函数等都是对象,必须为这些对象取个名字,SQLSERVER好通过这个名字来管理她们.
通常在命名对象时使用她们的类别缩写作为对象名的前缀,以便通过该前缀就可以知道这个对象是哪里对象.所以,[PK_title]就是主键的名字,PK是PrimaryKey的缩写.
Top
 
 回复人:china_skag() ( ) 信誉:1002006-7-28 15:57:08得分:0
 
 
?

哦!原来这样,谢谢!
Top
 
 回复人:china_skag() ( ) 信誉:1002006-7-28 15:58:35得分:0
 
 
?

alter table title drop COLUMN id
GO
alter table title add id int identity(1,1)
GO
alter table title add constraint [PK_title] PRIMARY KEY CLUSTERED ([id])
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值