AUTO INCREMENT -- 在新记录插入表中时生成一个唯一的数字。插入表数据时,该字段不需规定值。
在每次插入新记录时,自动地创建主键字段的值。在表中创建一个 auto-increment 字段。
MySQL:AUTO_INCREMENT
CREATE TABLE tableName
(
col int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (col)
)
默认地,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1。
使AUTO_INCREMENT序列以其他的值起始:ALTER TABLE tableName AUTO_INCREMENT=100
SQLServer:IDENTITY
CREATE TABLE tableName
(
col int PRIMARY KEY IDENTITY,
)
默认地,IDENTITY 的开始值是 1,每条新记录递增 1。
使"col" 列以 20 起始且递增 10,把 IDENTITY 改为 IDENTITY(20,10)
Oracle:
须通过 sequence 对创建 auto-increment 字段(该对象生成数字序列)。
CREATE SEQUENCE seqName MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
上面的代码创建名为 seqName 的序列对象,它以 1 起始且以 1 递增。该对象缓存 10 个值以提高性能。CACHE 选项规定了为了提高访问速度要存储多少个序列值。
要在表中插入新记录,须使用 nextval 函数(该函数从 seqName 序列中取回下一个值):
INSERT INTO tableName (col,col1,col2) VALUES (seqName.nextval,‘Lars‘,‘Monsen‘) -- "col" 的赋值是来自 seqName 序列的下一个数字。
相关文章
- PostgreSQL添加、删除、更新表字段、添加主键、自增序列操作
- MySQL数据库——MySQL AUTO_INCREMENT:主键自增长
- sql server 数据库 设置id 自增
- PowerDesigner里数据表里AUTO_INCREMENT(自增)的设置
- 【SQL】找出行数与自增标识值不相等的表(即有缺行)
- Oracle创建触发器实现字段自增
- SQL Server 无法修改字段的自增长(标识增量)的解决方法
- MySQL、Oracle的时间类型字段自动更新:insert插入、update更新时,自动更新时间戳。设置自增主键id,oracle创建自增id序列和触发器
- 读书笔记之sql server数据库重启后自增ID值跳跃1000的解决方法
- sql server怎么设置id字段自增