sql自增加設置與刪除的深刻剖析。本站提示廣大學習愛好者:(sql自增加設置與刪除的深刻剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是sql自增加設置與刪除的深刻剖析正文
identity(1,1)是指每拔出一條語句時這個字段的值增1,
語法
IDENTITY [ ( seed , increment ) ]
參數
seed
裝載到表中的第一個行所應用的值(標示種子)。
increment
增量值,該值被添加到前一個已裝載的行的標識值上(標示增量)。
必需同時指定種子和增量,或許兩者都不指定。假如兩者都未指定,則取默許值 (1,1)。
例如:
create table WorkRoom
(WorkRoomID int not null identity(1,1) primary key,
WorkRoomName Varchar(50) null,
TeacherName Varchar(10) null,
WorkRoomManager Varchar(10) null,
WorkRoomPlan Varchar(max) null,
Purl Varchar(50) null,
Remarks Varchar(max) null,
)
修正s創立標示和刪除標示:
ALTER TABLE TABLENAME DROP COLUMN ID
ALTER TABLE TABLENAME ADD ID int identity(1,1) not null
若何用sql語句去失落列的自增加(identity)
========================================
若何用sql語句去失落列的自增加(identity),撤消標識敕令:
**沒法經由過程alter把現有自增字段改成非自增
好比alter table a alter id int,自增屬性不會去失落
經由過程修正體系表可以做到(此法能夠有弗成預知的成果,慎之...)
sp_configure 'allow updates', 1
GO
reconfigure with override
GO
update syscolumns set colstat = colstat & 0x0000
where id=o b j e c t_id('表名') and name='字段名'
GO
sp_configure 'allow updates', 0
---------------------------------
--折衷的方法
alter table a add xxx int
update a set xxx=id
alter table a drop column id
exec sp_rename 'xxx', 'id', 'column'
========================================
第一個辦法是可以去失落,但今後能夠會招致出成績,建議用第二個辦法,我用的語句如今也貼出來,或許須要的同伙有些用途
刪除表 zx_user 中字段 userid 的自增加屬性辦法:
//新建暫時字段
alter table zx_user add useridtmp int null
//賦值
update zx_user set useridtmp =userid
//刪除主鍵
alter table zx_user drop pk_zx_user
//刪除字段
alter table zx_user drop column userid
//增長字段
alter table zx_user add userid int null
//把值復原回來
update zx_user set userid = useridtmp
//刪除暫時字段
alter table zx_user drop column useridtmp
//修正新建字段不為空
alter table zx_user alter column userid int not null
//健主鍵,多個字段做主鍵,用逗號離隔,好比primary key (userid,xxxxxx)
alter table zx_user add primary key (userid)
========================================
刪除主鍵時刻,不曉得你主鍵名字,請用一下辦法查詢:
select * from syso b j e c ts where xtype='PK