Как вставить строки с последовательным столбцом, догоняющим наибольшее значение в таблице в 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, когда я вставляю новые строки?