gpt4 book ai didi

php - Mysql数据库自增id不按升序自增

转载 作者:行者123 更新时间:2023-11-29 02:55:06 25 4
gpt4 key购买 nike

我在 mysql phpmyadmin 中创建了一个表,我为“id”提供了自动增量,并为图像创建了另一列,对于相同的 id,它不应该是相同的图像,这就是为什么我将它更改为唯一的。现在的问题是 id 已经自动增加了,但是如果我触发我的插入查询,它会插入 exa 的 id 号:-1 到 10,下次我会再次触发我的查询,它的插入 id 号,比如:-40 到 50,现在它直接取1000到1010等等。我正在使用简单的查询:-

mysqli_query($con,"insert into Wheel_Place_Images(place_image_url,creation_date,last_modification_date,status)values('$image_url','$date','$date','1')");

我不明白这里有什么问题。

最佳答案

您可以使用以下代码在 MySQL 中重置或设置初始值以自动递增。

使用这个:

ALTER TABLE `Wheel_Place_Images` AUTO_INCREMENT=1001;

或者如果您还没有添加 id 列,也添加它

ALTER TABLE `Wheel_Place_Images` ADD place_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ADD INDEX (place_id);

您不需要手动插入 place_id

mysqli_query($con,"INSERT INTO `Wheel_Place_Images`
(place_image_url,creation_date,last_modification_date,status)
Values ('$image_url','$date','$date','1')");

更新的答案

我有一个非常简单的技巧来避免自动递增的 ID 出现间隙。

只需从 id 字段中获取最大值,然后将其加 1。

$row = mysqli_query($con, "SELECT MAX(place_id) AS `maxid` FROM `Wheel_Place_Images`");
if ($row) {
$maxid = $row->maxid + 1;
}

然后

mysqli_query($con,"INSERT INTO `Wheel_Place_Images`
(place_id, place_image_url,creation_date,last_modification_date,status)
Values ('$maxid','$image_url','$date','$date','1')");

关于php - Mysql数据库自增id不按升序自增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com