Как вставить строки с последовательным столбцом, догоняющим наибольшее значение в таблице в Postgres

У меня есть такая таблица:

create table my_table
(
    "ID"            serial not null,
    "Name"          varchar(500)
);

Можно ли без изменения свойства таблицы вставить новую строку в эту таблицу (уже есть значения, поэтому "ID" не начинается с 1), чтобы столбец "ID" продолжал увеличиваться? В настоящее время, если я вставлю новую строку Charlie (без указания столбца ID) в таблицу:

ID    |    Name
----------------
1     |    Alice
2     |    Bob

Это станет

ID    |    Name
----------------
1     |    Alice
2     |    Bob
1     |    Charlie

Затем, когда я продолжаю вставлять, серийный счетчик продолжает увеличиваться. Есть ли способ начать с 3? я пытался currval(), nextval() и lastval(), но все они, кажется, начинаются с 1, хотя у меня уже есть столбец serial со значениями. Если мне придется изменить свойства этой таблицы, я могу каким-либо образом изменить ее, чтобы мне не приходилось беспокоиться о столбце serial, когда я вставляю новые строки?

0 ответов

Другие вопросы по тегам