postgreSQL: первичный ключ не запускается 1 - PullRequest
0 голосов
/ 29 мая 2019

Я сделал первичный ключ с именем t_id в таблице БД, используя запрос t_id SERIAL PRIMARY KEY. В первый раз все началось хорошо на 1. Затем я удалил все данные, и с этого момента он начинается на 2, хотя я установил его на 1.

Вот скриншот того, что я сделал на seq - определение на pgAdmin4:

enter image description here

У кого-нибудь есть идея, в чем проблема?

Большое спасибо !!

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Ваш t_id - это серийный тип с автоинкрементным первичным ключом. Это последовательности, вы можете установить значение следующей последовательности, используя функции управления последовательностями.

Документация по функциям управления последовательностями Postgres

0 голосов
/ 29 мая 2019

Текущее значение равно 1, поэтому следующее значение, которое будет обслужено, равно 2. Это ожидается.

В этой теме полезен документ .

Помните, что последовательность всегда даст вам значение, которое раньше не использовалось. Таким образом, если вы вставите 10 строк, а затем удалите их, следующее значение последовательности все равно будет 11 (последнее обработанное значение + 1)

Чтобы сбросить последовательность, чтобы при следующем вызове она возвращала 1, вы должны сделать

SELECT setval('my_sequence_name', 1, false);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...