После усечения таблицы последовательность не сбрасывается Я использую SELECT lastval(), чтобы получить неправильный серийный идентификатор после усечения таблицы. когда я усекаю таблицу, я использую SELECT lastval(), я получил неверный идентификатор / Ответ 1 Пытаться TRUNCATE TABLE table_name RESTART IDENTITY; Это будет Автоматически перезапускайте последовательности, принадлежащие столбцам усеченной таблицы (таблиц). Подробности здесь: TRUNCATE Ответ 2 Ниже приведен стандартный способ сброса последовательности: truncate table table_name restart identity; но в некоторой версии и платформе, это синтаксическая ошибка, в этом случае вы можете обрезать без повторной последовательности и изменить последовательность с помощью другого sql, попробуйте следующее: truncate table table_name; alter sequence seq_name start 1; Ответ 3 Проверьте следующий ALTER SEQUENCE sequence_name RESTART WITH 1; Ответ 4 Если вы хотите сбросить последовательность, выполните следующие действия: setval('sequence_name', 0) Чтобы перечислить имена существующих последовательностей, введите a \ds в командной строке psql. Ответ 5 Лучший способ сбросить последовательность, чтобы начать с номера 1, - это выполнить следующее после успешного ее усечения: ALTER SEQUENCE <tablename>_<id>_seq RESTART WITH 1 Так, например, для таблицы пользователей это будет: ALTER SEQUENCE users_id_seq RESTART WITH 1
Ответ 1 Пытаться TRUNCATE TABLE table_name RESTART IDENTITY; Это будет Автоматически перезапускайте последовательности, принадлежащие столбцам усеченной таблицы (таблиц). Подробности здесь: TRUNCATE
Ответ 2 Ниже приведен стандартный способ сброса последовательности: truncate table table_name restart identity; но в некоторой версии и платформе, это синтаксическая ошибка, в этом случае вы можете обрезать без повторной последовательности и изменить последовательность с помощью другого sql, попробуйте следующее: truncate table table_name; alter sequence seq_name start 1;
Ответ 4 Если вы хотите сбросить последовательность, выполните следующие действия: setval('sequence_name', 0) Чтобы перечислить имена существующих последовательностей, введите a \ds в командной строке psql.
Ответ 5 Лучший способ сбросить последовательность, чтобы начать с номера 1, - это выполнить следующее после успешного ее усечения: ALTER SEQUENCE <tablename>_<id>_seq RESTART WITH 1 Так, например, для таблицы пользователей это будет: ALTER SEQUENCE users_id_seq RESTART WITH 1