php – 如何防止自动增量跳过mysql数据库中的id号?

好的,我们假设我有一个包含两列的mysql数据库表,一个用于id,另一个用于密码.如果我有三行数据并且id值从1到3并且我删除第3行然后创建另一行数据,我将在新创建的行上看到id = 4而不是id = 3.我知道这与自动增量值有关,但我想知道我是否可以在php文件中添加一些代码,这些代码会自动重置所有id号,这样你就可以从id = 1开始,然后转到最后一个id号.删除一行后的增量为1?

我的目标是创建一个表单,用户输入密码,系统将密码与数据库中的密码值匹配.如果匹配,将删除具有匹配密码的行,并且将重新排序id号列,以便不跳过id号.

更新:我正在通过将1到4的随机数设置为变量来制作旋转横幅广告系统,以便php文件将使用随机数变量从id = 1到id = 4检索随机广告.如果随机数恰好为3且id = 3不存在,则横幅广告行中将存在间隙.如果有办法解决这种情况下的巨大差距,请告诉我.提前致谢

解决方法:

只需执行以下SQL查询:

ALTER TABLE `tbl_name` AUTO_INCREMENT = 1;

……但这听起来像是一个糟糕的主意,所以不要这样做.为什么主键的价值如此重要?唯一性更为重要,重置它会破坏它.

上一篇:c# – 无需通过电子邮件发送密码即可恢复密码


下一篇:luogu P3241 [HNOI2015]开店