重置PostgreSQL中的自动增量计数器



我想将表的自动增量字段强加于某个值,不幸的是我的查询似乎失败

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必须是大型或串行。

如果要检查它,则创建序列或不运行此脚本。

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

您可以验证DEFAULT子句中定义的名称序列:

SELECT column_name, column_default
FROM information_schema.columns
WHERE table_schema = 'myschema'
   AND table_name = 'categories'
ORDER BY ordinal_position;

然后您将知道要重置哪个序列!

最新更新