mysql - 重置自动增量有什么坏处吗?

标签 mysql database auto-increment

我有 1 亿行,而且它变得太大了。 我看到很多差距。 (因为我删除,添加,删除,添加。)

我想用自动增量来填补这些空白。 如果我重置它..有什么危害吗?

如果我这样做,它会填补空白吗?

mysql> ALTER TABLE tbl AUTO_INCREMENT = 1;

最佳答案

可能非常危险,因为您可以再次获得一个已经在使用中的号码。

您的建议是再次将序列重置为 1。它只会产生 1,2,3,4,5,6,7,.. 等等,不管这些数字是否在间隙中。

更新: 根据 Martin 的回答,由于涉及的危险,MySQL 甚至不会让您这样做。它会将计数器重置为至少当前值 + 1。

再想一想差距的存在会导致什么真正的问题。通常这只是一个审美问题。

如果数字太大,切换到更大的数据类型(bigint 应该足够了)。

关于mysql - 重置自动增量有什么坏处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106237/

相关文章:

php - 如何从 Prestashop 数据库中获取特定产品

php - 如何忽略 myIsam 插入忽略时自动增加的主 id?

java - JPA + Hibernate 中的日期前缀自动递增 id

sql - 数据库序列 : Why incrementing by other than 1?

PHP MySQLi 在插入时将文件重命名为行 ID

MySQL 从数据库返回新产品和二手产品的数量

mysql - 如何在 MySQL 中拆分文本和数字?

database - 像 Postgres 模式一样的 Oracle 数据库 : Group tables in folders,?

wpf - 为 WPF DataGridRow 逐一着色

sql - 创建唯一的主键以忽略重复项