我正在从MySQL切换到PostgreSQL,我想知道如何实现自动增量值.我在PostgreSQL文档中看到了一个数据类型"serial",但在使用它时(在v8.0中)会出现语法错误.

推荐答案

是的,SERIAL是等效函数.

CREATE TABLE foo (
    id SERIAL,
    bar varchar
);

INSERT INTO foo (bar) VALUES ('blah');
INSERT INTO foo (bar) VALUES ('blah');

SELECT * FROM foo;

+----------+
| 1 | blah |
+----------+
| 2 | blah |
+----------+

SERIAL只是一个围绕序列的创建表时间宏.不能将序列号更改为现有列.

Postgresql相关问答推荐

Redis作为postgreSQL嵌套数据的缓存

PostgreSQL数据文件是否仅在判断点期间写入磁盘?

如何在查询空字段时设置pgtype.comb为默认值?

如何获取实例化视图的列级权限?

在Docker容器内的Postgres,如何通过Promail将JSON登录到Loki?

哪种数据类型是除法的结果?

为什么我的应用程序接收的是空值而不是布尔值?

PostgreSQL:在 select 和 group by 中使用不同的列不会导致错误

求和直到达到一个值 postgresql

postgres vacuum 是否改进了我的查询计划

PostgreSql maintenance_work_mem 在索引创建期间增加

在 postgres 中Decode解码相似的函数

在 row_to_json 函数中 Select 查询

如何使用 postgresql 中的存储过程将数据插入表中

从没有行的计数中获取 0 值

如何在 postgres 中使用 json_populate_recordset 解析 json

仅当 PostgreSQL 表不存在时才添加主键

在 postgres 中存在不同的 string_agg 问题

如何在postgresql中编写关于最大行数的约束?

在 pg_restore 期间排除表