Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Lajur Auto-Incrementing dalam PostgreSQL?

Bagaimana untuk Melaksanakan Lajur Auto-Incrementing dalam PostgreSQL?

Patricia Arquette
Lepaskan: 2025-01-22 11:27:08
asal
1037 orang telah melayarinya

How to Implement Auto-Incrementing Columns in PostgreSQL?

Penjelasan terperinci tentang cara melaksanakan lajur peningkatan automatik PostgreSQL

Apabila membuat jadual dalam PostgreSQL, anda mungkin menghadapi ralat semasa cuba menggunakan pilihan AUTO_INCREMENT untuk lajur kunci utama. Artikel ini menyelidiki isu ini dan menyediakan penyelesaian komprehensif untuk lajur jadual kenaikan automatik.

AUTO_INCREMENT ralat sintaks

Mesej ralat yang ditemui menunjukkan ralat sintaks yang berkaitan dengan kata kunci AUTO_INCREMENT. PostgreSQL tidak menyokong kata kunci AUTO_INCREMENT. Sebaliknya, ia menggunakan teknik yang berbeza untuk menjana nilai kunci primer secara automatik.

PostgreSQL 10 dan lebih baru: lajur IDENTITI

Untuk PostgreSQL 10 dan yang lebih baru, kaedah pilihan kunci utama penambahan automatik ialah lajur IDENTITI. Lajur IDENTITY ialah jenis lajur khas yang menjana nilai unik untuk setiap baris secara automatik.

Untuk membuat jadual dengan lajur IDENTITI:

CREATE TABLE staff (
  staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  staff text NOT NULL
);
Salin selepas log masuk
Klausa

GENERATED ALWAYS memastikan bahawa nilai lajur dijana secara automatik walaupun jika nilai disediakan secara eksplisit dalam pernyataan INSERT.

PostgreSQL 9.6 dan lebih rendah: lajur bersiri

Untuk PostgreSQL 9.6 dan lebih rendah, jenis data pseudo bersiri boleh digunakan untuk menambah kunci utama secara automatik. Lajur bersiri mencipta objek jujukan di belakang tabir dan secara automatik menetapkan nilai lalai lajur kepada nilai seterusnya dalam jujukan.

Untuk mencipta jadual dengan lajur bersiri:

CREATE TABLE staff (
  staff_id serial PRIMARY KEY,
  staff text NOT NULL
);
Salin selepas log masuk

Timpa nilai lalai

Kedua-dua lajur IDENTITI dan bersiri menjana nilai secara automatik, tetapi anda boleh mengatasi nilai ini menggunakan sintaks OVERRIDING SYSTEM|NILAI PENGGUNA dalam pernyataan INSERT.

Nota Tambahan

  • Adalah disyorkan untuk menggunakan lajur IDENTITY dan bukannya lajur bersiri dalam PostgreSQL 10 dan ke atas.
  • Dalam PostgreSQL, pilih pengecam yang sah, huruf kecil, tidak disebut untuk memudahkan pengurusan pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Lajur Auto-Incrementing dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan