我在本地MySQL服務器上開發了一個後端,一切正常。 當我將它移到生產服務器後,數據庫中的所有主鍵都自動遞增爲奇數(也可能是它自動遞增2) - 因此1,3,5,7,9 .. 。MySQL主鍵只能自動遞增奇數 - 爲什麼?
我知道可以更改自動增量,但我沒有那樣做。那麼我怎麼能檢查一下,看看是否設置了?
我在本地MySQL服務器上開發了一個後端,一切正常。 當我將它移到生產服務器後,數據庫中的所有主鍵都自動遞增爲奇數(也可能是它自動遞增2) - 因此1,3,5,7,9 .. 。MySQL主鍵只能自動遞增奇數 - 爲什麼?
我知道可以更改自動增量,但我沒有那樣做。那麼我怎麼能檢查一下,看看是否設置了?
這很可能是auto_increment_increment
改爲:http://dev.mysql.com/doc/refman/5.0/en/replication-options-master.html#sysvar_auto_increment_increment
您可以檢查這樣的:
mysql> SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 10 |
| auto_increment_offset | 1 |
+--------------------------+-------+
2 rows in set (0.01 sec)
釘釘它! auto_increment_increment:2 ...系統管理員會將其設置爲默認值的任何原因? – 2013-04-24 15:50:52
如果您正在運行主 - 主複製設置,這將防止您發生主鍵衝突。一臺服務器甚至是ID,另一臺服務器也是奇數ID。 – Wolph 2013-04-24 15:53:33
這可能是由於INSERT
語句發送了兩次,但是IGNORE
因此只導致奇數。
你能證明這將如何工作嗎? – Strawberry 2013-04-24 15:31:31
它使用相同的代碼在OP的測試服務器上運行良好,我寧願下注雙主複製設置。 – piotrm 2013-04-24 15:42:51
這發生在所有的桌子上。儘管(儘早)我已經瞭解了這個問題。永遠不知道,忽略仍然增加主鍵 – 2013-04-24 15:50:06
的可能重複[更改通過增加步驟自動\ _increment場(HTTP://計算器。 com/questions/1686327/change-the-step-auto-increment-fields-increment-by) – 2013-04-24 15:30:55