【发布时间】:2012-03-25 13:43:37
【问题描述】:
使用 InnoDB,无论何时执行 INSERT IGNORE 或 ON DUPLICATE KEY UPDATE,无论是否插入任何内容,它都会自动递增表。
这个问题真烦人。
有什么简单的方法吗?
【问题讨论】:
-
这不是问题,这是一个理想的功能。 不应该解决它,但我感觉到代表猎人建议更改表格并重置增量计数。只是不要这样做。
-
许多个月前,我被说服放手而不必担心数据库表中单调增加的 id。我想我从此过上了更幸福的生活
-
只是好奇,您正在开发什么应用程序,这甚至是一个问题?让数据库做它的事情。如果您尝试获取最后一个插入 ID,那么您应该将查询包装在事务中。如果您担心 id 用完,请确保您的 id col 设置为 unsigned。
-
是的,我认为我内心的强迫症需要放手。问题是我正在运行定期检查数据的 cron 作业,然后将任何新内容插入数据库。所以每次它运行脚本时,我都会在自动增量中出现巨大的差距。
-
@NathanWaters:我会专注于找出交易失败的原因,而不是担心自动增量 ID 的差距。
标签: mysql innodb auto-increment on-duplicate-key