sql自增長(zhǎng)設(shè)置與刪除的深入分析
更新時(shí)間:2013年06月04日 10:15:32 作者:
本篇文章是對(duì)sql自增長(zhǎng)設(shè)置與刪除進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
identity(1,1)是指每插入一條語(yǔ)句時(shí)這個(gè)字段的值增1,
語(yǔ)法
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語(yǔ)句去掉列的自增長(zhǎng)(identity)
========================================
如何用sql語(yǔ)句去掉列的自增長(zhǎng)(identity),取消標(biāo)識(shí)命令:
**無(wú)法通過(guò)alter把現(xiàn)有自增字段改為非自增
比如alter table a alter id int,自增屬性不會(huì)去掉
通過(guò)修改系統(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)致出問(wèn)題,建議用第二個(gè)方法,我用的語(yǔ)句現(xiàn)在也貼出來(lái),也許需要的朋友有些用處
刪除表 zx_user 中字段 userid 的自增長(zhǎng)屬性方法:
//新建臨時(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
//把值還原回來(lái)
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)隔開(kāi),比如primary key (userid,xxxxxx)
alter table zx_user add primary key (userid)
========================================
刪除主鍵時(shí)候,不知道你主鍵名字,請(qǐng)用一下方法查詢(xún):
select * from syso b j e c ts where xtype='PK
語(yǔ)法
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語(yǔ)句去掉列的自增長(zhǎng)(identity)
========================================
如何用sql語(yǔ)句去掉列的自增長(zhǎng)(identity),取消標(biāo)識(shí)命令:
**無(wú)法通過(guò)alter把現(xiàn)有自增字段改為非自增
比如alter table a alter id int,自增屬性不會(huì)去掉
通過(guò)修改系統(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)致出問(wèn)題,建議用第二個(gè)方法,我用的語(yǔ)句現(xiàn)在也貼出來(lái),也許需要的朋友有些用處
刪除表 zx_user 中字段 userid 的自增長(zhǎng)屬性方法:
//新建臨時(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
//把值還原回來(lái)
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)隔開(kāi),比如primary key (userid,xxxxxx)
alter table zx_user add primary key (userid)
========================================
刪除主鍵時(shí)候,不知道你主鍵名字,請(qǐng)用一下方法查詢(xún):
select * from syso b j e c ts where xtype='PK
相關(guān)文章
MySQL在線(xiàn)DDL gh-ost使用總結(jié)
在本篇內(nèi)容里小編給大家整理了關(guān)于MySQL在線(xiàn)DDL gh-ost使用方法和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-02-02mysql 本地?cái)?shù)據(jù)庫(kù)如何從遠(yuǎn)程數(shù)據(jù)庫(kù)導(dǎo)數(shù)據(jù)
mysql 本地?cái)?shù)據(jù)庫(kù)如何從遠(yuǎn)程數(shù)據(jù)庫(kù)導(dǎo)數(shù)據(jù),本文以此問(wèn)題進(jìn)行詳細(xì)介紹,需要了解的朋友可以參考下2012-11-11解析MSSQL跨數(shù)據(jù)庫(kù)查詢(xún)的實(shí)現(xiàn)方法
本篇文章是對(duì)MSSQL跨數(shù)據(jù)庫(kù)查詢(xún)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysql實(shí)現(xiàn)遞歸查詢(xún)的方法示例
本文主要介紹了mysql實(shí)現(xiàn)遞歸查詢(xún)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Mysql:The user specified as a definer (''xxx@''%'') does not
今天小編就為大家分享一篇關(guān)于Mysql:The user specified as a definer ('xxx@'%') does not exist的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12CentOS 5.5下安裝MySQL 5.5全過(guò)程分享
網(wǎng)絡(luò)上有很多相關(guān)的安裝筆記,但是并不詳盡,或是編譯環(huán)境稍有不同,過(guò)程就會(huì)有差異,所以我總結(jié)了已有的經(jīng)驗(yàn)和我自己安裝過(guò)程中的體驗(yàn),擴(kuò)充并詳盡地記錄了整個(gè)過(guò)程。我選擇安裝的是MySQL5.5.27版本。以下是我的安裝筆記2012-09-09