[译文] PostgreSQL 自动生成的主键的 UUID、序列或标识列?
在PostgreSQL中,创建表时可以指定自动生成的主键。通常,可以使用UUID、序列(SEQUENCE)或标识列(IDENTITY)来作为主键。
- 使用UUID:
CREATE TABLE example_table (
id UUID DEFAULT uuid_generate_v4() PRIMARY KEY,
name TEXT NOT NULL
);
在这个例子中,uuid_generate_v4()
是PostgreSQL的一个扩展函数,它用于生成一个版本4的UUID。
- 使用序列:
CREATE SEQUENCE seq_example_table_id START 1;
CREATE TABLE example_table (
id INTEGER PRIMARY KEY DEFAULT nextval('seq_example_table_id'),
name TEXT NOT NULL
);
在这个例子中,我们首先创建了一个序列seq_example_table_id
,然后在创建表时使用nextval
函数来生成自增的主键。
- 使用标识列:
CREATE TABLE example_table (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
);
在这个例子中,我们使用了SQL标准的SERIAL
关键字,它在背后使用序列来生成自增的ID。
评论已关闭