删除行时如何调整唯一标识符

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

我有一个存储用户的表。我一直在建立新帐户来测试注册和登录功能,但是当我放下一行时,ID会不断递增(设置为自动递增),所以现在我的ID为1,2和9。没什么大不了的,但是随着时间的流逝,我觉得那可能是个问题。最好的解决方法是什么?我应该寻找空的ID并强迫新用户进入该插槽,还是当用户删除其帐户时应该调整表格?是否有一个简单的内置函数来解决这个问题?我觉得这应该是一个足够普遍的问题,应该有一些解决方法。

php sql database auto-increment
1个回答
0
投票

如果您确实想这样做(但不这样做,则可以这样做:

SET @max_id = (SELECT MAX(`id`) + 1 FROM `mytable` );
SET @sql = CONCAT('ALTER TABLE `mytable` AUTO_INCREMENT = ', @max_id);
PREPARE stmt FROM @sql;
EXECUTE stmt;

它将从您的表中搜索最大ID,并将自动增量设置为此ID

[SourceSet AUTO_INCREMENT value through variable in MySql

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