当mysql自增列达到最大值后的表现

2022-03-01  本文已影响0人  wwq2020

简单总结

mysql自增列达到最大值后后续的值都是最大值,对于设置了普通索引的不会产生报错,但是一般我们都是针对主键设置自增,主键是要求不重复的,所以会报错

准备

create database mytest;

试验一

准备

CREATE TABLE `mytable1` (
  `id` tinyint NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL, 
  KEY `idx_id` (`id`)
) ENGINE=InnoDB

试验

创建一条,携带最大id

insert into mytable1(id,name) values(127,"a");

创建第二条,不携带id,由mysql自增

insert into mytable1(name) values("b");

都成功,执行

select * from mytable1
image.png

试验二

准备

CREATE TABLE `mytable2` (
  `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT

试验

创建一条,携带最大id

insert into mytable2(id,name) values(127,"a");

创建第二条,不携带id,由mysql自增

insert into mytable2(name) values("b");

第二条失败了,得到如下


image.png

注意

自增列必须添加索引

上一篇下一篇

猜你喜欢

热点阅读