sql自增長設定與刪除的深入分析

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.