📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

NEXTVAL



从序列中获取下一个值。

语法

NEXTVAL(<sequence_name>)

返回类型

整数型。

访问控制要求

权限对象类型描述
ACCESS SEQUENCESEQUENCE访问序列。

要访问序列,执行该操作的用户或其角色必须具有 ACCESS SEQUENCE 权限。

示例

以下示例演示了 NEXTVAL 函数如何与序列配合使用:

CREATE SEQUENCE my_seq; SELECT NEXTVAL(my_seq), NEXTVAL(my_seq), NEXTVAL(my_seq); ┌─────────────────────────────────────────────────────┐ │ nextval(my_seq) │ nextval(my_seq) │ nextval(my_seq) │ ├─────────────────┼─────────────────┼─────────────────┤ │ 1 │ 2 │ 3 │ └─────────────────────────────────────────────────────┘

以下示例展示了如何使用序列和 NEXTVAL 函数为表中的行自动生成并分配唯一标识符。

-- Create a new sequence named staff_id_seq CREATE SEQUENCE staff_id_seq; -- Create a new table named staff with an auto-generated staff_id CREATE TABLE staff ( staff_id INT DEFAULT NEXTVAL(staff_id_seq), name VARCHAR(50), department VARCHAR(50) ); -- Insert a new staff member with an auto-generated staff_id into the staff table INSERT INTO staff (name, department) VALUES ('John Doe', 'HR'); -- Insert another row INSERT INTO staff (name, department) VALUES ('Jane Smith', 'Finance'); SELECT * FROM staff; ┌───────────────────────────────────────────────────────┐ │ staff_id │ name │ department │ ├─────────────────┼──────────────────┼──────────────────┤ │ 3 │ Jane Smith │ Finance │ │ 2 │ John Doe │ HR │ └───────────────────────────────────────────────────────┘

文档内容是否有帮助?