资源描述:
《sql中如何得到自动编号字段》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、如何得到自动编号字段?具体步骤如下:①像Access中的自动编号字段右键你的表-->设计表-->找到你的id字段(类int型)-->标识-->是-->标识种子(初始值)-->标识递增量-->OK②用IDENTITY(SEED,INCREMENT)参数seed-启始值increment-增量CREATETABLE表名(你的IDIDENTITY(1,1)NOTNULL,你的其他字段...)CREATETABLE表名(你的字段IDAUTOINCREMENT(1000,10),其他字段...)③修改起始值和步进值ALTERTA
2、BLE表名ALTERCOLUMN你的字段IDCOUNTER(2000,50)④让一个删空的表自动增加字段的开始值重新从1开始ALTERTABLE表名ALTERCOLUMN你的字段IDCOUNTER(1,1)上述34只适用与Access,COUNTER为其一种数据类型,可以在Access中指定一不是自动编号的字段为自动编号字段,也可以让一自动编号字段重新从指定值按指定步长自动编号。但是如果表中有数据,用户不能用该语句来将该列的数据类型改变为COUNTER数据类型。对于SQLServer并不支持。对于SQLServer我们
3、或许总希望用AlterTable表名AlterColumn你的字段IDENTITY(1,1)来指定字段重新从1开始计数,但是这句话本身是错误的,好长时间我也疑惑为什么这句话不能执行。如果我们看看MS对AlterTable语句的定义就清楚了,这句话根本是错误的。下面是MS对AlterTable语句的定义。 ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ] [ COL
4、LATE < collation_name > ] [ NULL
5、 NOT NULL ]
6、 {ADD
7、 DROP } ROWGUIDCOL } ]
8、 ADD { [ < column_definition > ]
9、 column_name AS computed_column_expression } [ ,n ]
10、 [ WITH CHECK
11、 WITH NOCHECK ] ADD { < table_
12、constraint > } [ ,n ]
13、 DROP { [ CONSTRAINT ] constraint_name
14、 COLUMN column } [ ,n ]
15、 { CHECK
16、 NOCHECK } CONSTRAINT { ALL
17、 constraint_name [ ,n ] }
18、 { ENABLE
19、 DISABLE } TRIGGER { ALL
20、 trigger_name [ ,n ] } }< c
21、olumn_definition > ::= { column_name data_type } [ [ DEFAULT constant_expression ] [ WITH VALUES ]
22、 [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL ] [ COLLATE < collation_name > ] [ < column_constraint > ]
23、 [ n ]< column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL
24、 NOT NULL ]
25、 [ { PRIMARY KEY
26、 UNIQUE } [ CLUSTERED
27、 NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup
28、 DEFAULT } ]
29、 ]
30、 [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE
31、 NO ACTION } ] [ ON UPDATE { CASCADE
32、