2016-12-15 4 views
1

Я хотел бы, чтобы заставить автоматическое приращение поля таблицы до некоторого значения, к сожалению, мой запрос, кажется, не в состоянииСброс счетчика автоматического приращения в PostgreSQL

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

Моей таблица categories имеет следующие столбцы:

  • CategoryId
  • функции
  • имя

Edit: Мой Создать запрос:

-- 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; 
+0

Вы уверены, что это название последовательности? вы проверили его с помощью pgAdmin или аналогичных инструментов? если нет, попробуйте [проверить его с запросом] (http://stackoverflow.com/questions/1493262/list-all-sequences-in-a-postgres-db-8-1-with-sql) –

+0

preend schema ... –

+0

Да, pgadmin открыт. В качестве примера следующий запрос отлично работает: SELECT * FROM public.categories ORDER BY categoryid ASC – user3657270

ответ

0

В этих вышеприведенных вопросах не создаются последовательности, потому что вы не добавлены последовательно или последовательно: (согласно сценарию). bigint должен быть крупным или серийным.

Если вы хотите его проверить, то создается или не запускается этот сценарий.

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

Вы можете проверить последовательность имен, определенное в пункте DEFAULT:

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

Тогда вы будете знать, какая последовательность сброса!

+1

'AND table_name = 'serial'' кажется неправильным –

+0

со следующим запросом: FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name =' categories ' AND column_name LIKE' categoryid 'Получил свой результат: categoryid, но все же ... последовательность неверна – user3657270

+0

'AND column_default like 'nextval%''? .. –

Смежные вопросы