自動インクリメントは、テーブルに新しいレコードが挿入されるときに一意の番号を生成します。この記事で詳しく説明します。
AUTO INCREMENT フィールド
通常、新しいレコードが挿入されるたびに主キー フィールドの値を自動的に作成したいと考えています。
テーブルに自動インクリメントフィールドを作成できます。
次の 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)
上記の 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) に変更してください。
VALUES ('Bill','Gates')
上記の SQL ステートメントは、新しいレコードを「人物」テーブル。 「P_Id」には一意の値が割り当てられます。 「FirstName」列は「Bill」に設定され、「LastName」列は「Gates」に設定されます。 Oracle の構文
Oracle では、コードはもう少し複雑です。
オブジェクト
は一連の数値を生成します)。次の作成シーケンス構文を使用してください。 1までに。このオブジェクトは、パフォーマンスを向上させるために10 個の値をキャッシュします。 CACHE オプションは、アクセス速度を向上させるために保存されるシーケンス値の数を指定します。
「Persons」テーブルに新しいレコードを挿入するには、
nextval 関数 (この関数は 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 AUTO INCREMENT フィールドの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。