有什么可以限制MYSQL表中的自动增量索引列的值达到过多的大小?

问题描述 投票:0回答:1

当在表中不断添加和删除记录时,如何防止MYSQL中的自动增量索引的值达到天文数字?如何防止它无限增加直到达到字段的大小限制?目前,我是通过在每次添加记录时删除并重新添加索引列来实现的,但是我担心当同时有多个表用户时,这可能会引起问题。我希望将表的大小保持在最近的30条记录中,因此,每次添加新记录时,我都会删除id = 1的记录,然后删除并重新添加索引列以重置索引。没有使用索引值的外键或其他代码,因此更改索引值和行之间的关联并不代表问题。这是我当前的php代码:

if ($count > 30) {
$sql = "DELETE FROM news WHERE id=1";

if (mysqli_query($con, $sql)) {
}
$deletecolumn= mysqli_query($con,"ALTER TABLE news DROP id");
$added= mysqli_query($con,"ALTER TABLE news ADD id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;");
}

有更好的方法吗?

php mysql auto-increment
1个回答
0
投票

可能最好根据数据创建一个HASH并将其用作密钥。要保持前30名,您需要一个时间戳。添加一个后,您可以删除最旧的。您可以运行cron来删除最旧的。

© www.soinside.com 2019 - 2024. All rights reserved.