📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

CREATE SEQUENCE



TiDB Cloud Lake に新しいシーケンスを作成します。

シーケンスは、一意な数値識別子を自動生成するオブジェクトで、一般的にはテーブル行に異なる値(例: ユーザー ID)を割り当てるために使用されます。シーケンスは値の一意性を保証しますが、連続性は保証しません(つまり、欠番が発生する場合があります)。

構文

CREATE [ OR REPLACE ] SEQUENCE [ IF NOT EXISTS ] <sequence> [ START [ = ] <start_value> ] [ INCREMENT [ = ] <increment_value> ]
パラメータ説明デフォルト
<sequence>作成するシーケンスの名前です。-
STARTシーケンスの初期値です。1
INCREMENTNEXTVAL を呼び出すたびの増分値です。1

アクセス制御の要件

権限オブジェクトタイプ説明
CREATE SEQUENCEグローバルシーケンスを作成します。

シーケンスを作成するには、操作を実行するユーザーまたは current_role が CREATE SEQUENCE 権限 を持っている必要があります。

例

基本的なシーケンス

デフォルト設定(1 から開始し、1 ずつ増加)でシーケンスを作成します。

CREATE SEQUENCE staff_id_seq; CREATE TABLE staff ( staff_id INT, name VARCHAR(50), department VARCHAR(50) ); INSERT INTO staff (staff_id, name, department) VALUES (NEXTVAL(staff_id_seq), 'John Doe', 'HR'); INSERT INTO staff (staff_id, name, department) VALUES (NEXTVAL(staff_id_seq), 'Jane Smith', 'Finance'); SELECT * FROM staff; ┌───────────────────────────────────────────────────────┐ │ staff_id │ name │ department │ ├─────────────────┼──────────────────┼──────────────────┤ │ 2 │ Jane Smith │ Finance │ │ 1 │ John Doe │ HR │ └───────────────────────────────────────────────────────┘

開始値と増分のカスタマイズ

1000 から開始し、10 ずつ増加するシーケンスを作成します。

CREATE SEQUENCE order_id_seq START = 1000 INCREMENT = 10; CREATE TABLE orders ( order_id BIGINT, order_name VARCHAR(100) ); INSERT INTO orders (order_id, order_name) VALUES (NEXTVAL(order_id_seq), 'Order A'); INSERT INTO orders (order_id, order_name) VALUES (NEXTVAL(order_id_seq), 'Order B'); SELECT * FROM orders; ┌──────────────────────────────────┐ │ order_id │ order_name │ ├────────────────┼─────────────────┤ │ 1000 │ Order A │ │ 1010 │ Order B │ └──────────────────────────────────┘

このページは役に立ちましたか?