我在我的一个项目中使用了重复键。但是当所有行都已存在并且没有要更新的数据时,它也会增加auto_increment计数器。所以,之前的auto_increment = 5并且在执行重复键查询后它自动递增auto_increment counter = 6.因此,我在表中的条目变为,
id
__
1
2
3
4
6
my.ini中有一个“innodb_autoinc_lock_mode”的解决方案但是没有更改my.ini中的设置,有没有其他方法我只能使用php代码管理自动增量?
id name email
1 name1 name1@mail.com
3 name3 name3@mail.com
我有这张桌子。其中id是primarykey,email是uniqueId。现在,我使用值(name1,name1 @ mail.com)运行重复键更新,因此,此查询将不会更新或创建新条目,因为它已经存在。但是auto_increment计数器变为3.因此,对于下一个插入操作,新的id是3。
答案 0 :(得分:0)
如果您想使用php代码来管理您的ID,那么根本不要使用自动增量。
通过递增max id值手动设置id(通过使用select max()...获得。)。