[英]Heroku and ClearDB MySQL Auto Increment
我將 ClearDB 用於 mysql 數據庫。 我有一個帶有自動遞增主鍵的表。 問題是它不是增加1,而是增加10。請問我該如何解決這個問題?
此外,當我在本地主機上測試數據庫時,增量工作正常。
MySQL 對此有一個配置選項: auto_increment_increment 。 在您的 ClearDB 主機上可以將選項設置為 10,但在本地主機上設置為 1。
在每個環境中檢查它:
SELECT @@auto_increment_increment;
如果在 ClearDB 環境中設置為 10,您將不得不詢問設置該環境的人為什么要這樣配置。 可能有一個很好的理由。
不幸的是,它是一個全局設置,因此如果在服務器上設置它會影響該 MySQL 實例上所有數據庫中的所有表。
您可以覆蓋每個 session 的值,因此如果您希望您的應用程序使用與全局值不同的值,您可以在執行任何 INSERT 之前將其作為 SQL 查詢執行:
SET auto_increment_increment = 1;
但這僅對當前的 session 生效,因此每次打開新的 session 時都必須這樣做。
還要仔細檢查這個相關選項,因為如果增量已更改,它通常會設置為非默認值:
SELECT @@auto_increment_offset;
ClearDB 將 auto_increment 值全局設置為 10 以促進它們執行的集群功能。 您不能覆蓋它,即使在單租戶集群上也是如此。 這始終是 10 的倍數。他們不會為您調整它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.