ローカル MySQL サーバーでバックエンドを開発しましたが、すべて正常でした。本番サーバーに移動した後、データベース内のすべての主キーは奇数のみに自動インクリメントされます(2 ずつ自動インクリメントされる可能性もあります)-したがって、1,3,5,7,9 ...
自動インクリメント量を変更できることは知っていますが、変更しませんでした。では、それが何らかの形で設定されているかどうかを確認するにはどうすればよいでしょうか?
ローカル MySQL サーバーでバックエンドを開発しましたが、すべて正常でした。本番サーバーに移動した後、データベース内のすべての主キーは奇数のみに自動インクリメントされます(2 ずつ自動インクリメントされる可能性もあります)-したがって、1,3,5,7,9 ...
自動インクリメント量を変更できることは知っていますが、変更しませんでした。では、それが何らかの形で設定されているかどうかを確認するにはどうすればよいでしょうか?
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)
これはおそらくINSERT
ステートメントが 2 回送信されたために発生したもので、IGNORE
奇数のみが発生したためです。