MS Access Tips/Sample and VBA and Blog customize etc...

SQLでオートナンバー型の主キーフィールドを追加する方法

CREATE TABLE ステートメントでテーブルを作成するときや、既存のテーブルにALTER TABLE ステートメントで、オートナンバー型の主キーフィールドを追加する方法を紹介します。

掲示板の回答するときに調べたのですが、WEB検索してもそのものズバリのものが見つからなかったので備忘録として投稿。

オートナンバー型の主キーフィールドを追加する

難易度:

既存テーブルにオートナンバー型の主キーフィールドを追加する

ALTER TABLE ステートメントを使います。詳細は、下記を参照してください。

ALTER TABLE ステートメント (Microsoft Access SQL)

で、既存テーブルにオートナンバー型の主キーフィールドを追加するSQLは下記のようになります。

オートナンバー型は Counter で指定します。
主キーは、CONSTRAINT で PRIMARY KEY を指定します。
フィールド名とインデックス名は同じにしておいてもいいです。

Counterの引数は通常は、Counter(1,1) と設定しておけばいいでしょう。1 から始まって 1 ずつ増えるというデザインビューで設定した場合と同じ仕様になります。Counter(100,10) と設定すれば、100から始まり10ずつ増えるという仕様になります(そのような需要があるとは思えませんが)。

テーブル作成時にオートナンバー型の主キーフィールドを追加する

CREATE TABLE ステートメントを使います。詳細は下記を参照してください。

CREATE TABLE ステートメント (Microsoft Access SQL)

テーブル作成時にオートナンバー型の主キーフィールドを追加するSQLは下記のようになります。
2つのテキストフィールド(Fld1, Fld2)とオートナンバー型の主キーフィールド(ID)を含むテーブルを作成する例です。

まとめ

元の質問は下記です。

ACCESSのテーブル作成クエリで、プライマリキーを振りたいです。二つの... - Yahoo!知恵袋

運用中にテーブルを作成したり、主キーを追加したりという処理が繰り返し発生するというような設計は通常はしないと思います。開発中ならば、デザインビューで簡単にできることですので、上記のようなことを自動でする必要性がちょっと想定できないです。

上記の質問も最終的には、テーブルは事前に作成しておいて、毎回データを削除して、データ追加するという方法に落ち着いたようです。


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/448-3655e1d1
該当の記事は見つかりませんでした。