Mysql自動增量不是順序的。MySQL自動增量在innodb中不是順序的
當我試圖上傳它跳過一些自動遞增ID的CSV大量數據
自動遞增ID不連續
的數據庫引擎InnoDB的& ID是自動遞增
示例
id color 1 red 2 blue 3 green 4 orange 9 pink 10 white 11 black 16 gray 17 brown
該id不是順序的。
Mysql自動增量不是順序的。MySQL自動增量在innodb中不是順序的
當我試圖上傳它跳過一些自動遞增ID的CSV大量數據
自動遞增ID不連續
的數據庫引擎InnoDB的& ID是自動遞增
示例
id color 1 red 2 blue 3 green 4 orange 9 pink 10 white 11 black 16 gray 17 brown
該id不是順序的。
不知道codeignitor和事務的細節,但我知道查詢中的「catched failed」(如insert ignore
)有不插入的效果,但是會增加auto_increment。在這裏尋找你的答案。其餘的不要打擾'固定'。
如果您使用的是比5.1.22
更新的MySQL,那麼可能是因爲InnoDB locking strategy與Miguel Angel Nieto在this blog post中解釋相關。
你可以改變這種行爲設定innodb_autoinc_lock_mode
參數:
innodb_autoinc_lock_mode = 0
:「傳統」鎖定模式,相同的行爲以前5.1.22
innodb_autoinc_lock_mode = 1
:「連續」鎖定模式,默認行爲,這可能是您設置的內容,它的目的是爲了提高併發性和性能,其缺點是在序列上有漏洞。innodb_autoinc_lock_mode = 2
:「交錯」鎖定模式,這是最快和最具擴展性的鎖定模式,但它使用基於語句的複製或恢復情況時,當SQL語句從二進制重播是不是安全登錄鄰使用innodb_autoinc_lock_mode
可以檢查detailed mysql documentation的詳細信息。
爲什麼它的順序與否有關係? – Rob 2013-04-08 14:14:22
問題是什麼? (順便說一句,它*是*順序,它只是沒有缺口) – 2013-04-08 14:14:33
我可以理解好奇心。但我們需要更多的幫助...... csv是如何上傳的?等 – 2013-04-08 14:16:05