Rumah  >  Artikel  >  pangkalan data  >  MySQL 自增 ID 用完了怎么办?

MySQL 自增 ID 用完了怎么办?

Guanhui
Guanhuiasal
2020-06-03 10:42:154252semak imbas

MySQL 自增 ID 用完了怎么办?

MySQL 自增 ID 用完了怎么办?

在MySQL中有很多类型的自增ID,每个自增ID都设置了初始值,然后按照一定的步长增加,只要定义了字节长度,那么就会有上限,如果达到上限再次添加,则会报主键冲突错误,解决方法可以考虑使用“bigint unsigned”类型。

测试

数据表定义的自增 ID,如果达到上限之后。

再申请下一个 ID 的时候,获得到的值将保持不变。

我们可以通过下面这个例子来验证一下:

create table `test` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4294967295;
 
insert into `test` values (null);

可以从这个结果看的出来第一次插入数据的时候 ID 值还是 4294967295,

当第二次插入数据,则报主键冲突错误了,

这说明 ID 值达到上限之后,就不会再变化了。

推荐教程:《MySQL教程

Atas ialah kandungan terperinci MySQL 自增 ID 用完了怎么办?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn