程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> sql自增加設置與刪除的深刻剖析

sql自增加設置與刪除的深刻剖析

編輯:MySQL綜合教程

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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved