【问题标题】:MySQL - INSERT IGNORE increments the auto_increment primary keyMySQL - INSERT IGNORE 增加 auto_increment 主键
【发布时间】:2015-03-08 08:33:51
【问题描述】:

每当INSERT IGNORE 语句遇到重复条目时,自动递增主键就会递增。

我在基于 cpanel 的共享主机上,那么如何尝试在 MySQL 上使用 innodb_autoinc_lock_mode=0

我正在使用 python-mysql 库将值插入数据库..这里是狙击手:

cursor.execute ("""INSERT IGNORE INTO database (title, introduction) VALUES (%s, %s)""", (title, pure_introduction))

【问题讨论】:

  • 你能发布一个代码片段来演示你描述的问题吗?它不一定是您的实际代码,只需保留它minimal
  • 代码 sn-p 添加到问题中:)

标签: python mysql cpanel


【解决方案1】:

你不能。 autoinc_lock_mode 是一个全局变量,不能作为普通用户设置(除非你是服务器的管理员,那么你可以在 mysql 配置文件中设置)

http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_autoinc_lock_mode

如果您真的想要自动增量值,您可以在插入之前手动检查重复项。

【讨论】: