2014-09-27 16 views
0

我想要做的是從我的數據庫表重置ID。如何在java中重置數據庫表中的id?

例如,我的表是:

id   data 
1   Tony 
3   Johnny 
5   Julia 

我想重置變成這樣的ID:

id   data 
1   Tony 
2   Johnny 
3   Julia 

我如何使用MySQL查詢在Java中它做什麼?請幫幫我。

+0

在MySQL中,有沒有這樣的事情重置主鍵,你必須做手工。另見http://stackoverflow.com/questions/740358/mysql-reorder-reset-auto-increment-primary-key。 – idleherb 2014-09-27 10:23:23

+1

您無法生成無間隙ID。不要這樣做。爲什麼你對主要關鍵值的無間隙列表感興趣? – Tiny 2014-09-27 10:47:39

回答

0

id這個字段應該「填補空白」,這是一種常見的誤解。 id字段僅用於將唯一標識附加到實體,僅此而已。 MySQL的增量編號爲的算法非常簡單。它存儲最後使用的值id,然後在插入新行時向其添加1。

我建議你使用Java的java.util.UUID類產生新id的,因爲增量ID很容易受到黑客攻擊。

用法:

String id = UUID.randomUUID(); 
相關問題