Php mysql数据库中的自动增量字段正在以多个值递增

Php mysql数据库中的自动增量字段正在以多个值递增,php,mysql,Php,Mysql,您好,我正在使用以下代码将值插入我的数据库,我有一个id字段,它是自动递增的,我想应该为插入的每个下一个值加上一个,在我的情况下,id值有时会增加一个以上,例如,上一个id是900,下一个将是904,我想知道以下代码是否在我的数据库中造成了此错误,例如,如果我在重复键上选择了一个选项,当我选择“插入”时,该选项只应在下次更新,它正在插入并以少量数字递增,下面是代码: $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); $con

您好,我正在使用以下代码将值插入我的数据库,我有一个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自动增量行中的间隙。我如何解决它?

您删除了表中的任何记录吗?如果您这样做,自动增量字段仍将根据上次插入的数据(已删除)继续递增

范例

身份证名称 1姓名1 2姓名2 3.姓名3