自動キー生成をセットアップするには、自動キー生成の働き方について、いくつかのことを知っている必要があります。自動キー生成を使用するには、この目的のために、データベースに 1 つのテーブルをとっておく必要があります。このテーブルには、以下の 2 つの列があります。
データベースは、新しい固有キーが必要になると、識別 (Identity) 列の値が 1 の行を見つけます。この行の増分 (Incrementor) 列の値が次に使用可能なキーを保持しています。データベースは、次回に新しいキーが使用可能になるように、このキーを使用してテーブルを更新します。
以下はキー生成テーブルの例です。このデータベースの次回に使用可能なキーは何でしょうか。答えは、このテーブルの下にあります。
識別 (Identity) 列 | 増分 (Incrementor) 列 |
---|---|
3 | 78 |
4 | 3 |
1 | 65 |
2 | 12 |
このテーブルの次回に使用可能なキーは 65 です。これは、このキー (増分 (Incrementor) 列にある) が、識別 (Identity) 列内で 1 を持つ行と同じ行にあるからです。
次回に使用可能なキーがテーブルから取り出されると、キーが必要になる次回に備えてテーブルが更新されます。データベースは、複数行の増分 (Incrementor) 列の値を取り出すことによって、複数のキーを 1 度に取得することもできます。
要約すると、自動キー生成が正しく機能するには、2 つの列 (識別列として使用する主キー列と、次回使用可能なキーを保管するための列) を持つキー生成テーブルを準備するだけで済みます。このテーブルは、識別列の値を 1 とし、使用する最初の使用可能なキーをその増分列の値として持つ 1 つのレコードで初期化されている必要があります。このセットアップを行えば、自動キー生成は準備完了です。