SQL 自動インクリメント
自動インクリメントは、新しいレコードがテーブルに挿入されるときに一意の番号を生成します。
AUTO INCREMENT フィールド
通常、新しいレコードが挿入されるたびに主キー フィールドの値を自動的に作成したいと考えています。
テーブルに自動インクリメントフィールドを作成できます。
MySQL の構文
次の SQL ステートメントは、「Persons」テーブルの「ID」列を自動インクリメント主キー フィールドとして定義します。 ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,FirstName varchar(255),
AUTO_INCREMENT シーケンスを別の値で開始するには、次の SQL 構文を使用します: Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
MySQL は AUTO_INCREMENT を使用します自動インクリメントタスクを実行するためのキーワード。
デフォルトでは、AUTO_INCREMENT の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。
City varchar(255),
PRIMARY KEY (ID)
)
MySQL は AUTO_INCREMENT を使用します自動インクリメントタスクを実行するためのキーワード。
デフォルトでは、AUTO_INCREMENT の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。
ALTER TABLE persons AUTO_INCREMENT=100
"persons" テーブルに新しいレコードを挿入するには、 「ID」列 指定した値(一意の値が自動的に追加されます):INSERT INTO persons (FirstName,LastName)
VALUES ('Lars','Monsen')上記のSQL文は、 「人物」テーブルの新しいレコード。 「ID」列には一意の値が割り当てられます。 「FirstName」列は「Lars」に設定され、「LastName」列は「Monsen」に設定されます。
SQL Server の構文
次の SQL ステートメントは、「Persons」テーブルの「ID」列を自動インクリメント主キー フィールドとして定義します。 ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,FirstName varchar(255),
Address varchar(255),
City varchar(255))
MS SQL Server は IDENTITY を使用します自動インクリメントタスクを実行するためのキーワード。
上記の例では、IDENTITY の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。
ヒント:
「ID」列が 10 で始まり 5 ずつ増加するように指定するには、ID を IDENTITY(10,5) に変更してください。
「Persons」テーブルに新しいレコードを挿入するには、「ID」列の値を指定する必要はありません (一意の値が自動的に追加されます): 上記の例では、IDENTITY の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。
ヒント:
「ID」列が 10 で始まり 5 ずつ増加するように指定するには、ID を IDENTITY(10,5) に変更してください。
価値観 ('ラース'、'モンセン')
上記の SQL ステートメントは、「persons」テーブルに新しいレコードを挿入します。 「ID」列には一意の値が割り当てられます。 「FirstName」列は「Lars」に設定され、「LastName」列は「Monsen」に設定されます。
Access の構文
次の SQL ステートメントは、「Persons」テーブルの「ID」列を自動インクリメント主キー フィールドとして定義します。 ID 整数 PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
MS Access は、AUTOINCREMENT キーワードを使用して自動実行を実行します。インクリメントタスク。
デフォルトでは、AUTOINCREMENT の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。
City varchar(255)
)
MS Access は、AUTOINCREMENT キーワードを使用して自動実行を実行します。インクリメントタスク。
デフォルトでは、AUTOINCREMENT の開始値は 1 で、新しいレコードごとに 1 ずつ増加します。
ヒント:
「ID」列が 10 で始まり 5 ずつ増加するように指定するには、autoincrement を AUTOINCREMENT(10,5) に変更してください。 「個人」テーブルに新しいレコードを挿入するには、「ID」列の値を指定する必要はありません (一意の値が自動的に追加されます):INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars', 'Monsen')上記の SQL ステートメントは、「persons」テーブルに新しいレコードを挿入します。 「ID」列には一意の値が割り当てられます。 「FirstName」列は「Lars」に設定され、「LastName」列は「Monsen」に設定されます。
Oracle の構文
Oracle では、コードはもう少し複雑です。
シーケンス オブジェクト (一連の数値を生成する) を介して自動インクリメント フィールドを作成する必要があります。 次の CREATE SEQUENCE 構文を使用してください:
CREATE SEQUENCE seq_person
MINVALUE 1START WITH 1
INCREMENT BY 1CACHE 10
上記のコードは、1 で始まり、次のように増加する seq_person という名前のシーケンス オブジェクトを作成します。 1.このオブジェクトはパフォーマンスを向上させるために 10 個の値をキャッシュします。キャッシュ オプションは、アクセス速度を向上させるために保存するシーケンス値の数を指定します。
「persons」テーブルに新しいレコードを挿入するには、nextval 関数 (seq_person シーケンスから次の値を取得します) を使用する必要があります:
上記のコードは、1 で始まり、次のように増加する seq_person という名前のシーケンス オブジェクトを作成します。 1.このオブジェクトはパフォーマンスを向上させるために 10 個の値をキャッシュします。キャッシュ オプションは、アクセス速度を向上させるために保存するシーケンス値の数を指定します。
「persons」テーブルに新しいレコードを挿入するには、nextval 関数 (seq_person シーケンスから次の値を取得します) を使用する必要があります:
INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person . nextval,'Lars','Monsen')上記の SQL ステートメントは、「persons」テーブルに新しいレコードを挿入します。 「ID」列には、seq_person シーケンスの次の番号が割り当てられます。 「FirstName」列は「Lars」に設定され、「LastName」列は「Monsen」に設定されます。