Pro nově vložený řádek musíte vytvořit nové ID:
INSERT INTO web_book(
id, page_count, year_published, file, image,
display_on_hp, name, description, name_cs,
name_en, description_cs, description_en
)
SELECT nextval('web_book_id_seq'),
page_count,
year_published,
file,
image,
display_on_hp,
name,
description,
name_cs,
name_en,
description_cs,
description_en
FROM web_book WHERE id=3;
Jak zmínil ClodoaldoNeto, můžete si věci trochu usnadnit tím, že jednoduše vynecháte sloupec ID a necháte výchozí definici, aby svou práci udělala:
INSERT INTO web_book(
page_count, year_published, file, image,
display_on_hp, name, description, name_cs,
name_en, description_cs, description_en
)
SELECT page_count,
year_published,
file,
image,
display_on_hp,
name,
description,
name_cs,
name_en,
description_cs,
description_en
FROM web_book WHERE id=3;
V tomto případě nepotřebujete znát název sekvence (ale je trochu méně zřejmé, co se děje).