sql - 在 postgresql 中重置自动增量计数器

标签 sql postgresql auto-increment reset

我想强制表的自动递增字段为某个值,不幸的是我的查询似乎失败了

ALTER SEQUENCE categories_categoryid_seq RESTART WITH 1;
ERROR:  relation "your_sequence_name" does not exist

我的表 categories 有以下列:

  • 类别编号
  • 职能
  • 姓名

编辑:我的创建查询:

-- Table: public.categories

-- DROP TABLE public.categories;

CREATE TABLE public.categories
(
    categoryid bigint NOT NULL,
    functions character varying(255) COLLATE pg_catalog."default" NOT NULL,
    name character varying(255) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT categories_pkey PRIMARY KEY (categoryid)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

ALTER TABLE public.categories
    OWNER to postgres;

最佳答案

在上述问题中没有创建序列,因为您没有添加序列或序列:(根据脚本)。 bigint 必须是 bigserial 或 serial。

如果您想检查序列是否已创建,请运行此脚本。

Select column_default 
from information_schema.columns 
where table_name = 'categories' and column_name = 'categoryid';

关于sql - 在 postgresql 中重置自动增量计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41161966/

相关文章:

php - 使用 PHP 从 SQL 表构建 html 列表树

SQL Server - 从一组相似记录中选择最新记录

java - 长和纬度值未传递给 .createPoint(new Cooperative(long, lat));

java - 自动生成唯一的 varchar 字段 - mySQL、Java、Hibernate

java - Selenium SQL 数据库连接

sql - Firebird SQL Server 内部函数

postgresql - 如何在 ubuntu 的 postgresql 中获取数据库的端口号?

sql - 锁定引用表 postgres 的行

php - 如何使用 PHP 仅检测 AUTO_INCREMENTed 值?

mysql - MySQL 中的范围 AUTO_INCREMENT?