創(chuàng)建表的時(shí)候可以 比如ID列自增
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的井研網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
create table T1
(
id int identity(1,1),
ccode varchar(10),
cname varchar(100)
)
比方說(shuō),你要?jiǎng)?chuàng)建一個(gè)表user_info,設(shè)置的主鍵名稱是user_id,那么可以如下設(shè)置:
create
table
user_info
(user_id
int
primary
key
identity(1,1),//主鍵初值為1,每次自增1,數(shù)值可變化,但要符合之前定義的類型
user_name
varchar(20)
not
null,
SqlServer有3種方式設(shè)置自增列,
SSMS中在圖形化界面中建表時(shí),設(shè)置自動(dòng)增長(zhǎng)的其實(shí)值及每次增量。
2. --語(yǔ)句建表時(shí)設(shè)置自增列,從1開(kāi)始增長(zhǎng),每次增加1
create table test(col1 int indentity(1,1,))。
3. --修改列為從1開(kāi)始增長(zhǎng),每次增加10
alter table test alter col1 int indentity(1,10)。
操作
1、創(chuàng)建一個(gè)表?movie,設(shè)置字段 id?具有 identity(1,1),
注:identity(start,step),中的參數(shù)start表示從start開(kāi)始標(biāo)號(hào),step表示每次遞增的步長(zhǎng)數(shù)量
2、當(dāng)我們進(jìn)行插入操作的時(shí)候,便會(huì)報(bào)如下的錯(cuò)誤;
注:mysql?上是可以這么操作的;
3、解決方法是,在使用前添加一句
SET IDENTITY_Insert movie ON;
注:SET IDENTITY_Insert?table switch?表示是否允許table表中的
identity?字段的插入操作,On表示允許,Off表示不允許
4、有時(shí)候?yàn)榱税踩?,?huì)習(xí)慣性的在操作前,允許,操作后不允許:
5、注:mssql?目前只允許同時(shí)只對(duì)一張表進(jìn)行
SET IDENTITY_Insert table?ON;
操作,所以如果考慮到在不同的表之間進(jìn)行操作的話,
需要先把前一張表給OFF?掉;
identity值
查看當(dāng)前表的indentity的值:
dbcc checkident(table, NORESEED)
其中 table?表示的要查看的表, NORESEED表示不會(huì)修改該值,
如下圖查詢到的結(jié)果是3
修改當(dāng)前表的 identity?的值
dbcc checkident(table,RESEED,value)
其中:
table?表示的是要修改的表;
RESEED?表示的是identity的值會(huì)被修改;
value?表示的是修改后的值;
如下圖所示,是把值修改成1后,查詢的結(jié)果: