ホームページ > バックエンド開発 > PHPチュートリアル > SQL AUTO INCREMENT フィールドの説明

SQL AUTO INCREMENT フィールドの説明

jacklove
リリース: 2023-03-25 16:08:02
オリジナル
1510 人が閲覧しました

自動インクリメントは、テーブルに新しいレコードが挿入されるときに一意の番号を生成します。この記事で詳しく説明します。

AUTO INCREMENT フィールド

通常、新しいレコードが挿入されるたびに主キー フィールドの値を自動的に作成したいと考えています。

テーブルに自動インクリメントフィールドを作成できます。

MySQL の構文

次の SQL ステートメントは、「Persons」テーブルの「P_Id」列を自動インクリメント主キーとして定義します。 ) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),PRIMARY KEY (P_Id))


MySQL は AUTO_INCREMENT キーワードを使用して自動インクリメント タスクを実行します。

デフォルトでは、AUTO_INCREMENT の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。

AUTO_INCREMENT シーケンスを別の値で開始するには、次の SQL 構文を使用します:

ALTER TABLE persons AUTO_INCREMENT=100

"Persons" テーブルに新しいレコードを挿入するには、値を指定する必要はありません「P_Id」列の場合 (一意の値が自動的に追加されます):


INSERT INTO persons (FirstName,LastName)

VALUES ('Bill','Gates')

上記の SQL ステートメントは、新しいレコードを「人物」テーブル。 「P_Id」には一意の値が割り当てられます。 「FirstName」列は「Bill」に設定され、「LastName」列は「Gates」に設定されます。

SQL Server の構文

次の SQL ステートメントは、「persons」テーブルの「P_Id」列を自動インクリメント主キーとして定義します。

CREATE TABLE persons

(P_Id int PRIMARY KEY IDENTITY,LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)
)


MS SQL は IDENTITY キーワードを使用して自動インクリメント タスクを実行します。

デフォルトでは、IDENTITY の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。

「P_Id」列が 20 で始まり 10 ずつ増加するように指定するには、ID を IDENTITY(20,10) に変更してください

「persons」テーブルに新しいレコードを挿入するには、値を指定する必要はありません「P_Id」列の場合 (一意の値が自動的に追加されます):

INSERT INTO persons (FirstName,LastName)

VALUES ('Bill','Gates')

上記の SQL ステートメントは、新しいレコードを「人物」テーブル。 「P_Id」には一意の値が割り当てられます。 「FirstName」列は「Bill」に設定され、「LastName」列は「Gates」に設定されます。

Access の構文

次の SQL ステートメントは、「Persons」テーブルの「P_Id」列を自動インクリメント主キーとして定義します。 NULL ,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)


MS Access は、AUTOINCREMENT キーワードを使用して自動インクリメント タスクを実行します。

デフォルトでは、AUTOINCREMENT の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。

「P_Id」列が 20 で始まり 10 ずつ増加するように指定するには、自動インクリメントを AUTOINCREMENT(20,10) に変更してください。

「persons」テーブルに新しいレコードを挿入するには、値を指定する必要はありません「P_Id」列の場合 (一意の値が自動的に追加されます):

INSERT INTO persons (FirstName,LastName)

VALUES ('Bill','Gates')

上記の SQL ステートメントは、新しいレコードを「人物」テーブル。 「P_Id」には一意の値が割り当てられます。 「FirstName」列は「Bill」に設定され、「LastName」列は「Gates」に設定されます。

Oracle の構文


Oracle では、コードはもう少し複雑です。

シーケンス ペアを介して自動インクリメント フィールドを作成する必要があります (この

オブジェクト

は一連の数値を生成します)。次の作成シーケンス構文を使用してください。 1までに。このオブジェクトは、パフォーマンスを向上させるために

10 個の値をキャッシュします。 CACHE オプションは、アクセス速度を向上させるために保存されるシーケンス値の数を指定します。

「Persons」テーブルに新しいレコードを挿入するには、

next

val 関数 (この関数は seq_person シーケンスから次の値を取得します):

INSERT INTO persons (P_Id,FirstName,LastName) )

値 (seq_person.nextval,'Lars','Monsen')


上記の SQL ステートメントは、「persons」テーブルに新しいレコードを挿入します。 「P_Id」の割り当ては、seq_person シーケンスの次の番号です。 「FirstName」列は「Bill」に設定され、「LastName」列は「Gates」に設定されます。

関連推奨事項:

SQL ALTER TABLE ステートメントの関連操作について

SQL UNDO インデックス、テーブル、データベースに関する関連知識

SQL DEFAULT 制約に関する関連知識

以上がSQL AUTO INCREMENT フィールドの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート