十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Mysql中的序列主要用于主键,主键是递增的字段,不可重复。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站制作、白云网络推广、微信小程序、白云网络营销、白云企业策划、白云品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供白云建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
Mysql与Oracle不同的是,它不支持原生态的sequence,需要用表和函数的组合来实现类似序列的功能。
只能再查询自增ID即可
具体操作:MYSQL获取自增ID的四种方法
select max(id) from tablename
SELECT LAST_INSERT_ID() 函数
LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。
一、修改自增长序列的值
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,这样序列的编号个可增加一倍。