mysql如何创建一个序列

mysql如何创建一个序列,第1张

序列只有db2

oracle有,mysql没有序列的,不过你可以给你所所创建的表的主键设置为自增。

例如

create

table

A

(

id

int(20)

auto_increment

)

不过设置为自增的键必须是数值类型的。

Mysql中的序列主要用于主键,主键是递增的字段,不可重复。

Mysql与Oracle不同的是,它不支持原生态的sequence,需要用表和函数的组合来实现类似序列的功能。

一、修改自增长序列的值

alter table table_name auto_increment=n

注意:n只能大于已有的auto_increment的整数值,小于的值无效.

show table status like 'table_name' 的返回结果里的auto_increment列就是表的现有值.

二、控制主键的起点

create table 表名

(

......

) engine=INNODB auto_increment=1001 default charset=gbk

三、自增主键归零

如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数

truncate table 表名

四、获取自增主键

通过SQL select LAST_INSERT_ID()函数

通过SQL @@IDENTITY 变量

五、说明

AUTO_INCREMENT数据列必须有唯一索引,以避免序号重复。

AUTO_INCREMENT数据列必须具备NOT NULL属性。

设置AUTO_INCREMENT属性的数据列应该是一个正数序列,所以应该把该数据列声明为UNSIGNED,这样序列的编号个可增加一倍。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8764045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存