serial
adalah, kurang lebih, jenis kolom yang mengatakan integer serial
seperti mengucapkan text text
, cukup ucapkan serial
:
CREATE TABLE IF NOT EXISTS "category" (
"id" SERIAL PRIMARY KEY,
"name" varchar(30) DEFAULT NULL
);
Jika Anda ingin membuat urutannya sendiri maka Anda ingin membuat nilai default id
nilai berikutnya dalam urutan dan itu berarti mengatakan 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
);
Untuk mensimulasikan serial
biasa perilaku Anda juga ingin membuat urutan yang dimiliki oleh tabel:
alter sequence your_seq owned by category.id;
Membaca Jenis Serial bagian dari manual mungkin bermanfaat.
Saya juga menyarankan Anda untuk tidak mengutip nama tabel dan kolom Anda dua kali kecuali Anda harus melakukannya. PostgreSQL akan melipat pengidentifikasi Anda menjadi huruf kecil jadi id
dan "id"
akan menjadi hal yang sama tetapi mengutip yang tidak perlu adalah kebiasaan buruk yang dapat dengan mudah menyebabkan kekacauan kutipan besar di mana-mana.