SQL Server中自动获取编号字段

2019-12-23 10:53栏目:网站首页

①像Access中的自动编号字段

右键你的表--设计表--找到您的id字段(类int型卡塔尔国--标志--是--标记种子--标志依次增加量--OK

②用IDENTITY (SEED,INCREMENT)参数

seed -启始值

increment -增量

CREATE TABLE 表名(

您的ID IDENTITY (1, 1卡塔尔 NOT NULL ,你的其他字段... 卡塔尔(قطر‎

CREATE TABLE 表名(

你的字段ID AUTOINCREMENT(1000,10卡塔尔国,别的字段... 卡塔尔国

③修正最早值和步进值

ALTEGL450 TABLE 表名 ALTEENCORE COLUMN 你的字段ID COUNTE奥迪Q5(2004,50卡塔尔(英语:State of Qatar)

④让二个删空的表自动扩充字段的开端值重新从1发端

ALTELacrosse TABLE 表名 ALTECR-V COLUMN 你的字段ID COUNTE本田UR-V(1,1卡塔尔

上述26只适用与Access,COUNTE奇骏为其意气风发种数据类型,能够在Access中钦定一不是机动编号的字段为电动编号字段,也能够让意气风发自动编号字段重新从内定值按钦赐步长自动编号。然而生机勃勃旦表中有数据,客商无法用该语句来将该列的数据类型改换为COUNTE索罗德数据类型。对于SQL Server并不援助。

对于SQL Server我们兴许总希望用Alter Table 表名 Alter Column 你的字段 IDENTITY(1,1卡塔尔(英语:State of Qatar)

来钦点字段重新从1起来计数,不过那句话小编是不当的,好长期笔者也纳闷为何这句话无法实行。借使我们看看MS 对Alter Table语句的概念就知道了,那句话根本是谬误的。上边是MS对Alter Table语句的概念。

ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ][ COLLATE collation_name ][ NULL | NOT NULL ]| {ADD | DROP } ROWGUIDCOL }] | ADD{ [威尼斯人app, column_definition ]| column_name AS computed_column_expression} [ ,...n ]| [ WITH CHECK | WITH NOCHECK ] ADD{ table_constraint } [ ,...n ] | DROP{ [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] | { CHECK | NOCHECK } CONSTRAINT{ ALL | constraint_name [ ,...n ] }| { ENABLE | DISABLE } TRIGGER{ ALL | trigger_name [ ,...n ] } } column_definition ::={ column_name data_type }[ [ DEFAULT constant_expression ] [ WITH VALUES ]| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]] [ ROWGUIDCOL ][ COLLATE collation_name ][ column_constraint ] [ ...n ] column_constraint ::=[ CONSTRAINT constraint_name ]{ [ NULL | NOT NULL ]| [ { PRIMARY KEY | UNIQUE }[ CLUSTERED | NONCLUSTERED ][ WITH FILLFACTOR = fillfactor ][ ON { filegroup | DEFAULT } ]] | [ [ FOREIGN KEY ]REFERENCES ref_table [ ( ref_column ) ][ ON DELETE { CASCADE | NO ACTION } ][ ON UPDATE { CASCADE | NO ACTION } ][ NOT FOR REPLICATION ]] | CHECK [ NOT FOR REPLICATION ]( logical_expression ) } table_constraint ::=[ CONSTRAINT constraint_name ]{ [ { PRIMARY KEY | UNIQUE }[ CLUSTERED | NONCLUSTERED ]{ ( column [ ,...n ] ) } [ WITH FILLFACTOR = fillfactor ][ ON { filegroup | DEFAULT } ]] | FOREIGN KEY[ ( column [ ,...n ] ) ]REFERENCES ref_table [ ( ref_column [ ,...n ] ) ][ ON DELETE { CASCADE | NO ACTION } ][ ON UPDATE { CASCADE | NO ACTION } ][ NOT FOR REPLICATION ]| DEFAULT constant_expression[ FOR column ] [ WITH VALUES ]| CHECK [ NOT FOR REPLICATION ]( search_conditions 卡塔尔(英语:State of Qatar) }可以看出,IDENTITY只是在 column_definition 中,也正是说,大家得以如此使用

Alter Table 表名 Add 字段名 Int IDENTITY(1,1)

即,大家能够扩展七个字段并钦点它为自行编号字段。但是不能退换二个字段为全自动编号字段。即,借使我们想给表扩展活动编号字段,只好使用增加字段的办法,而不可能改造二个本来就有的字段为电动编号字段。

至于借使急需退换自动编号字段计数起先值能够应用DBCC命令:

DBCC CHECKIDENT (表名,RESEED,100)

自动编号字段下叁个从101始发计。

版权声明:本文由威尼斯人app发布于网站首页,转载请注明出处:SQL Server中自动获取编号字段