難道不知怎的,MySQL會生成兩次相同的自動增量ID嗎?MySQL重複ID
我們有以下的情況:
ID爲法案= 100創建;
然後它被刪除;
然後創建另一個賬單並且它具有相同的id = 100;
表的結構是:
CREATE TABLE `bill` (
`id` int(11) NOT NULL auto_increment,
`user` int(11) NOT NULL,
`date` datetime NOT NULL,
`state` int(11) NOT NULL,
`adv` bit(1) NOT NULL default b'0',
`weight` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `FK2E2407EC768806` (`user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `bill`
ADD CONSTRAINT `FK2E2407EC768806` FOREIGN KEY (`user`) REFERENCES `user` (`id`);
難道還有一些競爭條件或不MySQL的保證唯一的自動遞增的ID?
更新:我們不能再現這種情況,但我們記錄了它。
你的意思是你登錄了嗎?它是否表明這實際上發生了?你能告訴我們嗎? – 2011-03-16 07:22:50
帳單創建完成後,還會在具有相同ID的外部付款系統中創建另一個帳單,並且該系統顯示有兩張帳單有重複的ID。 – 2011-03-16 07:40:46
賬單的ID是否也從支付系統插入到數據庫中?因爲MySQL不應在自動增量字段上生成重複ID - 即使某些ID已被刪除(除非您截斷表)。 – BigFatBaby 2011-03-16 08:33:22