微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐