是否有可能在某个时刻,表的ID高于当前的自动增量值?
我有一张像队列一样的table。我每秒插入/删除10-30行,需要自动递增列才能继续。现在插入行时,会得到一个循环自动增量(id),例如: 374097
.
这是table:
CREATE TABLE `test_table` (
`id` INT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
COLLATE='utf8_bin'
ENGINE=InnoDB
AUTO_INCREMENT=374098;
还有一张table用这个 id
作为外键。
SELECT max(batch_id) from secondary_table;
退货: 397959
. 在某个时候,test\ u表的id已达到 397959
,而自动增量要低得多!
我在电视上看到这个https://dev.mysql.com/doc/refman/8.0/en/replication-features-auto-increment.html 我应该很安全-自动递增是在一个简单的主键上设置的。
你知道我是否可以继续这样使用自动增量,或者我需要使用一个自备的id吗?
1条答案
按热度按时间gpfsuwkq1#
可以保持自动增量:只需将第一个表上的自动增量值更新为最大值+1