我以前可以在刪除表格中的行後將自動增量值設置爲低於現有值,但現在我無法做到所以(我只能將它設置爲高於當前值)。我想知道這是因爲升級MySQL(5.6.11)/ PHPMyAdmin(3.5.8),還是我仍然可以做到這一點?MySQL - 無法將表格的自動增量值設置爲較低值
回答
從手冊:
You cannot reset the counter to a value less than or equal to any that have
already been used. For MyISAM, if the value is less than or equal to the
maximum value currently in the AUTO_INCREMENT column, the value is reset
to the current maximum plus one. For InnoDB, if the value is less than the
current maximum value in the column, no error occurs and the current sequence
value is not changed.
因此,在短期,這取決於所使用的存儲引擎。
感謝您的正確答案,大人物。
的變通InnoDB的:
- 轉儲出表,
- 改變轉儲文件的自動增量值,
- 重新加載它
只要確保在重新加載之前刪除表格;您可能需要通過 禁用密鑰檢查SET foreign_key_checks = 0;
你的回答的確是對的。更簡單的解決方案是:更改表格,刪除自動增量選項,根據要求刪除或更新這些字段,然後重新設置自動增量。 – CodingMate
您可以通過重新啓動MySQL服務器來重置隱藏值。 InnoDB重新啓動後重新計算自動增量值。
更新您的行,並重新啓動mysql deamon。這可以防止你重建你的桌子,這可能是大桌子上的ha what。
重新啓動MySQL服務器修復了我的號碼,謝謝你的提示! – SeinopSys
重新啓動MySQL服務器修復了我的表的編號。好的答案。謝謝 – masterdany88
也爲我工作 - 偉大的提示 – Sol
- 1. mysql,將列「id」(自動增量)的值設置爲列B的默認值
- 2. 自動設置的MySQL自動增量到最小值
- 3. 重置mysql中的自動增量值
- 4. 如何在MySQL中將自動增量格式設置爲0001?
- 5. 設置表格選項中缺少自動增量值
- 6. 如何在MySQL中將我的自動增量值設置爲從1開始?
- 7. 在EF4中爲自動增量列設置自定義值
- 8. 用自動增量值插入表格
- 9. MySQL:如何設置自動增量字段的起始值?
- 10. 在SQL中將C#變量設置爲自動遞增的列值的值?
- 11. 將自動增量設置爲android
- 12. MySQL設置自動增量「特設」
- 13. 嘗試重置表格的自動增量值
- 14. Mysql值低於設置
- 15. 設置並檢索從mysql到java的自動增量值(在jlabel中設置)
- 16. 設置SQLAlchemy的自動增量啓動值
- 17. SQL Server數據庫表自動增量字段的設置值
- 18. 無法設置MySQL WAIT_TIMEOUT變量值
- 19. 無法將值設置爲浮點值
- 20. 將自動增量起始值設置爲訪問中的變量
- 21. 是否可以爲mysql中的自動增量設置起點和最大值?
- 22. 在MySQL中嚴格自動增加值
- 23. 當密鑰設置爲自動增量時指定主鍵值
- 24. MySql InnoDb自動增量預取值
- 25. Mysql自動增量值問題
- 26. 無法在mysql中保存增量值
- 27. 重置Mysql自動增加值每年?
- 28. 存儲過程設置自動增量字段的起始值
- 29. 是可以更新到空值的自動增量主鍵值爲MySQL表
- 30. 無法自動增加會話值
如果我理解正確,你有行7 8 9,你刪除它們,你希望A_I從7再次統計? – Nikola
@Nikola是的,你理解我正確 – Nick