pgsql 主键自增
时间: 2023-07-28 21:09:01 浏览: 113
在 PostgreSQL 中,可以通过使用序列(sequence)来实现主键的自增功能。以下是步骤:
1. 创建一个序列:
```sql
CREATE SEQUENCE table_name_column_name_seq;
```
这里的 `table_name` 是你要设置自增主键的表名,`column_name` 是要设置为自增主键的列名。
2. 将序列与表的主键列关联:
```sql
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT nextval('table_name_column_name_seq');
```
这将设置默认值为序列的下一个值,确保每次插入数据时该列都会自动递增。
3. 创建表时,将主键列设为整型并指定默认值:
```sql
CREATE TABLE table_name (
column_name SERIAL PRIMARY KEY,
-- 其他列...
);
```
这里使用 `SERIAL` 数据类型可以自动创建名为 `table_name_column_name_seq` 的序列,并将其与主键列关联。
现在,每当你插入一条数据时,主键列将自动递增。
请注意,如果你想手动插入值而不递增,可以使用 `DEFAULT` 关键字来插入下一个序列值:
```sql
INSERT INTO table_name (column_name, other_columns) VALUES (DEFAULT, 'other_values');
```
希望这能帮助到你!如果有任何疑问,请随时提问。
阅读全文