1

JavaDB を使用して既存のテーブルの自動インクリメント オフセットを変更することは可能ですか?

新しいレコードを挿入すると、通常は (常にではありませんが) 既存のキー (自動インクリメント列) の使用に関するエラーで失敗するという問題があります。このデータベースにデータを入力するために、別のデータベース (MySQL) からダンプを取得し、JavaDB ストアド プロシージャを使用して、それらすべてを対応する JavaDB テーブルに挿入しました。私の理論では、これらのレコードを挿入すると、MySQL テーブルから既存の ID がコピーされたということです。現在、自動インクリメント機能は既存の ID を処理しています。オフセットを高い数値に明示的に設定すると、自動インクリメントが再び機能するようになると思います。

4

2 に答える 2

1

質問に対する直接的な回答でなくても、MySQL を使用すると、次のことができます。

ALTER TABLE my_little_table AUTO_INCREMENT =2000

自動インクリメント値を設定します。

于 2010-11-19T13:18:56.297 に答える
0

オフセットを直接変更する方法はわかりませんが、次の方法で修正できました。

  1. 増分量を X (私の場合は 100 万) ずつ変更します。
  2. ダミーレコードの挿入。
  3. 増分量を 1 に戻します。
  4. ダミーレコードの削除。

この SQL ステートメントを使用して増分量を変更しました。

ALTER TABLE tbl ALTER COLUMN col SET INCREMENT BY x
于 2008-12-09T22:42:20.280 に答える