私はタスクテーブルを作成しようとしました。非常に頻繁にアイテムを追加/削除しました。 アプリケーションが稼動しているときに、キューに入れられたタスクを格納するために使用されたテーブルがそれをデキューします。テーブル(データベース)の自動インクリメント
アプリが中断(再開)されると、次のアプリのライフサイクルは未完了の仕事の作業を続け、新しい仕事をもう一度追加することがあります。
表は次のようになります。私たちが知っているように
table Tasks
{
int ID auto increment
// another columns
}
我々は前のレコードを削除した場合、IDは常にさえインクリメント。 IDがint.MaxValue
に達した後、新しいレコードをもう一度追加した場合はどうなりますか? IDは1にリセットされ、2,3,4にインクリメントされます...未使用のIDを検索していますか? IDのロールバックを1(または任意の空きID)にもう一度する方法はありませんか? MySQLの
alter table tbl auto_increment=1;
で
DBengineはどちらですか? MySQL、SQLサーバー、Oracleなど(バージョンも役立ちます) – xQbert