2008-12-09 47 views
1

是否可以使用JavaDB更改預先存在的表上的自動增量偏移量?JavaDB:是否可以更改現有表上的自動增量偏移量?

我在哪裏插入新記錄的問題一般(但不總是)因錯誤而失敗抱怨使用現有的鍵(我的自動增量列)。爲了填充這個數據庫,我從另一個數據庫(MySQL)獲取了一個轉儲,並使用JavaDB存儲過程將它們全部插入到相應的JavaDB表中。我的理論是插入這些記錄從MySQL表中複製了現有的ID。現在,自動增量功能正在拋出現有的ID。我明確指出將偏移量設置爲某個高數字將允許自動增量再次工作。

回答

0

我不知道如何直接更改偏移,但是我設法解決這個問題:

  1. 通過X(100萬在我的情況)改變遞增量。
  2. 插入虛擬記錄。
  3. 減少的遞增量回落到1
  4. 刪除虛擬記錄。

我用這個SQL語句來改變遞增量:

ALTER TABLE tbl ALTER COLUMN col SET INCREMENT BY x 
1

即使它沒有直接回答這個問題: 的MySQL,你可以做一個

ALTER TABLE my_little_table AUTO_INCREMENT =2000 

設置自動增量值。

相關問題