我已經加入了一個項目,它使用客戶端生成的隨機數爲主數據庫中的主鍵字段。這些主鍵字段是自動遞增的,但並未被用於這種情況。Mysql自定義自動增量ID來修復隨機ID
我認爲這樣做是因爲開發人員不知道如何在插入後檢索數據庫生成的id。
我們現在在很多表中都有一個稀疏的id值數組,並且有大量的插入關鍵衝突。
是否有一些補救措施可以讓數據庫生成ID(即從最後一個分配的ID開始,找到下一個可用的ID),並使下面的JDBC調用起作用?
numero = stmt.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
爲了能夠向您推薦一些實用的東西,您必須更加具體,並從發佈當前表架構開始,並指定您當前使用的引擎。 – peterm
@peterm。好,謝謝。數據庫包含大約120個表(對許多枚舉),每個實體表包含一個代理主鍵,通常是int(10)非空auto_increment。目標數據庫是MySQL 5.1.69。 id在整個id範圍間隔很大,即大的間隙。 jdbc客戶端是最新的。現有的代碼很可怕,有許多錯誤和相應的數據質量問題。我正在尋找可行的建築建議。例如。實現一個存儲過程,更新這個mysql的最後id元數據字段等。希望有人遇到過這個,並修復它? – karu