gpt4 book ai didi

php - mysql数据库中的自增字段递增超过1

转载 作者:行者123 更新时间:2023-11-30 01:00:59 25 4
gpt4 key购买 nike

您好,我正在使用以下代码将值插入到我的数据库中,我有一个自动递增的 id 字段,我认为应该对插入的每个下一个值进行编号,将其递增一,在我的情况下,id 值有时会递增有多个,例如最后一个 id 是 900,下一个将是 904,我想知道以下代码是否在我的数据库中产生此错误,例如,如果我在重复键上选择一个选项,则会发生这种情况它应该仅在下次我选择插入时更新,它会插入并递增少量数字,这是代码:

    $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); 
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$stmt = $con->prepare( "Insert Into subscriptions ( curso_id, user_id )
Values ('$cursoid', '$userid')
ON DUPLICATE KEY UPDATE curso_id = curso_id, user_id = user_id;" );
$stmt->execute();

换句话说,我使用此插入函数在 id 自动增量行内收到间隙。我该如何解决它?

最佳答案

您是否删除了表中的任何记录?如果您这样做,自动增量字段仍将根据最后插入的被删除的数据继续增量。

示例

ID名称1 姓名 12 姓名 23 姓名 3 <- 已删除

然后您将插入新数据,它将在 id 中插入 4,而不是 3。

ID名称1 姓名 12 姓名 24 姓名 4

希望这有帮助。

关于php - mysql数据库中的自增字段递增超过1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135383/

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