sql自增長設(shè)置與刪除的深入分析
更新時(shí)間:2013年06月04日 10:15:32 作者:
本篇文章是對(duì)sql自增長設(shè)置與刪除進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
identity(1,1)是指每插入一條語句時(shí)這個(gè)字段的值增1,
語法
IDENTITY [ ( seed , increment ) ]
參數(shù)
seed
裝載到表中的第一個(gè)行所使用的值(標(biāo)示種子)。
increment
增量值,該值被添加到前一個(gè)已裝載的行的標(biāo)識(shí)值上(標(biāo)示增量)。
必須同時(shí)指定種子和增量,或者二者都不指定。如果二者都未指定,則取默認(rèn)值 (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創(chuàng)建標(biāo)示和刪除標(biāo)示:
ALTER TABLE TABLENAME DROP COLUMN ID
ALTER TABLE TABLENAME ADD ID int identity(1,1) not null
如何用sql語句去掉列的自增長(identity)
========================================
如何用sql語句去掉列的自增長(identity),取消標(biāo)識(shí)命令:
**無法通過alter把現(xiàn)有自增字段改為非自增
比如alter table a alter id int,自增屬性不會(huì)去掉
通過修改系統(tǒng)表可以做到(此法可能有不可預(yù)知的結(jié)果,慎之...)
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'
========================================
第一個(gè)方法是可以去掉,但以后可能會(huì)導(dǎo)致出問題,建議用第二個(gè)方法,我用的語句現(xiàn)在也貼出來,也許需要的朋友有些用處
刪除表 zx_user 中字段 userid 的自增長屬性方法:
//新建臨時(shí)字段
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
//刪除臨時(shí)字段
alter table zx_user drop column useridtmp
//修改新建字段不為空
alter table zx_user alter column userid int not null
//健主鍵,多個(gè)字段做主鍵,用逗號(hào)隔開,比如primary key (userid,xxxxxx)
alter table zx_user add primary key (userid)
========================================
刪除主鍵時(shí)候,不知道你主鍵名字,請(qǐng)用一下方法查詢:
select * from syso b j e c ts where xtype='PK
語法
IDENTITY [ ( seed , increment ) ]
參數(shù)
seed
裝載到表中的第一個(gè)行所使用的值(標(biāo)示種子)。
increment
增量值,該值被添加到前一個(gè)已裝載的行的標(biāo)識(shí)值上(標(biāo)示增量)。
必須同時(shí)指定種子和增量,或者二者都不指定。如果二者都未指定,則取默認(rèn)值 (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創(chuàng)建標(biāo)示和刪除標(biāo)示:
ALTER TABLE TABLENAME DROP COLUMN ID
ALTER TABLE TABLENAME ADD ID int identity(1,1) not null
如何用sql語句去掉列的自增長(identity)
========================================
如何用sql語句去掉列的自增長(identity),取消標(biāo)識(shí)命令:
**無法通過alter把現(xiàn)有自增字段改為非自增
比如alter table a alter id int,自增屬性不會(huì)去掉
通過修改系統(tǒng)表可以做到(此法可能有不可預(yù)知的結(jié)果,慎之...)
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'
========================================
第一個(gè)方法是可以去掉,但以后可能會(huì)導(dǎo)致出問題,建議用第二個(gè)方法,我用的語句現(xiàn)在也貼出來,也許需要的朋友有些用處
刪除表 zx_user 中字段 userid 的自增長屬性方法:
//新建臨時(shí)字段
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
//刪除臨時(shí)字段
alter table zx_user drop column useridtmp
//修改新建字段不為空
alter table zx_user alter column userid int not null
//健主鍵,多個(gè)字段做主鍵,用逗號(hào)隔開,比如primary key (userid,xxxxxx)
alter table zx_user add primary key (userid)
========================================
刪除主鍵時(shí)候,不知道你主鍵名字,請(qǐng)用一下方法查詢:
select * from syso b j e c ts where xtype='PK
相關(guān)文章
數(shù)據(jù)庫中row_number()、rank() 和 dense_rank() 的區(qū)別
本文主要結(jié)合了SQL中的排名函數(shù)ROW_NUMBER()、RANK()和DENSE_RANK(),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
Win 8或以上系統(tǒng)下MySQL最新版5.7.17(64bit ZIP綠色版)安裝部署教程
這篇文章主要為大家詳細(xì)介紹了Win 8或以上系統(tǒng)下MySQL最新版5.7.17 64bit ZIP綠色版安裝部署教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
SQL使用聚集函數(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)匯總
這篇文章主要介紹了SQL使用聚集函數(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)匯總,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
mysql 5.7.21 winx64綠色版安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.21 winx64綠色版安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09

