serial
is min of meer een kolomtype dus zeg integer serial
is hetzelfde als text text
saying zeggen , zeg gewoon serial
:
CREATE TABLE IF NOT EXISTS "category" (
"id" SERIAL PRIMARY KEY,
"name" varchar(30) DEFAULT NULL
);
Als u de reeks zelf wilt maken, wilt u de standaardwaarde id
. maken de volgende waarde in de reeks en dat betekent 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
);
Om de gebruikelijke serial
te simuleren gedrag waarvan u ook de volgorde wilt maken die eigendom is van de tafel:
alter sequence your_seq owned by category.id;
Het lezen van de serietypen gedeelte van de handleiding kan nuttig zijn.
Ik raad u ook aan om uw tabel- en kolomnamen niet dubbel te citeren, tenzij het moet. PostgreSQL vouwt uw identifiers naar kleine letters, dus id
en "id"
zal hetzelfde zijn, maar onnodig citeren is een slechte gewoonte die gemakkelijk kan leiden tot een grote warboel van citaten overal.