serial
je víceméně typ sloupce, který říká integer serial
je jako říct text text
, stačí říct serial
:
CREATE TABLE IF NOT EXISTS "category" (
"id" SERIAL PRIMARY KEY,
"name" varchar(30) DEFAULT NULL
);
Pokud chcete vytvořit sekvenci sami, pak chcete nastavit výchozí hodnotu id
další hodnotu v sekvenci a to znamená říct default nextval('your_seq')
:
CREATE SEQUENCE your_seq;
CREATE TABLE IF NOT EXISTS "category" (
"id" integer PRIMARY KEY default nextval('your_seq'),
"name" varchar(30) DEFAULT NULL
);
Chcete-li simulovat obvyklý serial
chování, budete také chtít vytvořit sekvenci vlastněnou tabulkou:
alter sequence your_seq owned by category.id;
Čtení Sériové typy část příručky by mohla být plodná.
Také bych doporučil, abyste neuváděli dvojité uvozovky názvů tabulek a sloupců, pokud to není nutné. PostgreSQL složí vaše identifikátory na malá písmena, takže id
a "id"
bude to samé, ale zbytečné citování je zlozvyk, který může snadno vést k velkému nepořádku uvozovek všude.