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