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,这样序列的编号个可增加一倍。
日常开发中经常遇到AUTO_INCREMENT类型自增ID值不符合预期的情况,本经验为大家总结如何修改自增ID的初始值。方法/步骤
创建表时设置递增ID:
create table users (pkid int auto_increment primary key,...)
2
表创建完成后设置递增ID:
alter table users add pkid int auto_increment primary key
注意:自增字段,一定要设置为primary key.
3
很多时候不希望pkId从1开始,我们可能希望他从10000开始:
alter table users AUTO_INCREMENT=10000
4
你也可以修改现有的递增值, 比如大批量删除数据后,想id从654321退回123456开始:
alter table users AUTO_INCREMENT=123456
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)