sql修改表的主键 自增

--修改表
alter table veg_tab
--删除表要自增列
drop column id
--修改表
alter table veg_tab
--添加表要自增列
add id int identity(1,1)

 

--修改表主键
ALTER  TABLE veg_tab ADD   CONSTRAINT veg_tab_id  PRIMARY KEY  (id)

--删除表主键
ALTER  TABLE add_tab DROP CONSTRAINT veg_tab_id

 

 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[主键名]') and OBJECTPROPERTY(object_id(N'[列名]'), N'IsPrimaryKey') = 1)
ALTER  TABLE 表名 DROP  CONSTRAINT [主键名]
ALTER  TABLE 表名 ADD   CONSTRAINT [新主键名] PRIMARY   KEY  ([列名])

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PK_orders]') and OBJECTPROPERTY(OBJECT_ID(N'dbo.[orders].[pi_no]'), N'IsPrimaryKey') = 1)
ALTER  TABLE orders DROP  CONSTRAINT [PK_orders]
ALTER  TABLE orders ADD   CONSTRAINT [PK_orders] PRIMARY KEY  ([form_no]) ON  [PRIMARY]


/*
--首先要在系统表里找到该列名的英文名
select name from sysobjects where xtype='Pk' and parent_obj=object_id('表名')
--select object_id('goods')
--select object_name(2137058649)
--如果有外键约束要还要先删除外键(注:如果不知道是否有外键约束可以先运行删除主键语句)
alter table orders drop constraint FK__Orders__货品名称__0425A276
--然后才可删除
alter table goods drop constraint  列表的英文名
--修改
ALTER TABLE 你的表 ALTER COLUMN 列名 你的类型
go
--增加
alter table 你的表 add constraint 主键名 primary key (列名)
*/

posted @ 2012-07-03 13:55  netPisces  阅读(3877)  评论(0编辑  收藏  举报