Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Fungsi AUTO_INCREMENT dalam PostgreSQL?

Bagaimana untuk Melaksanakan Fungsi AUTO_INCREMENT dalam PostgreSQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-22 11:47:13644semak imbas

How to Implement AUTO_INCREMENT Functionality in PostgreSQL?

Penomboran automatik PostgreSQL: laksanakan fungsi AUTO_INCREMENT

Membuat jadual yang mengandungi lajur AUTO_INCREMENT dalam PostgreSQL boleh mencabar, seperti yang ditunjukkan oleh ralat sintaks yang ditemui dalam contoh yang disediakan. Untuk menyelesaikan masalah ini, kita perlu mengetahui sintaks AUTO_INCREMENT yang betul dalam PostgreSQL.

Tidak seperti sistem pangkalan data lain, PostgreSQL tidak mempunyai jenis data AUTO_INCREMENT khusus. Sebaliknya, ia menyediakan dua cara untuk menjana nilai jujukan secara automatik:

PostgreSQL 10 dan ke atas

Lajur IDENTITI:

Bermula dalam PostgreSQL 10, lajur SQL IDENTITY standard boleh digunakan. Lajur ini boleh dijana secara lalai atau sentiasa secara deterministik.

Untuk membuat jadual dengan lajur IDENTITI:

<code class="language-sql">CREATE TABLE staff (
  staff_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  staff    TEXT NOT NULL
);</code>

PostgreSQL 9.6 dan lebih rendah

Jenis data SIRI:

Dalam versi yang lebih lama ini, jenis data pseudo SERIAL telah digunakan untuk menambah kunci utama secara automatik. Ia secara automatik mencipta jujukan dan menetapkan nilai DEFAULT kepada nilai seterusnya dalam jujukan.

Untuk membuat jadual dengan lajur SIRI:

<code class="language-sql">CREATE TABLE staff (
  staff_id SERIAL PRIMARY KEY,
  staff    TEXT NOT NULL
);</code>

Menggunakan kaedah ini, anda boleh membuat jadual dalam PostgreSQL dengan nilai jujukan yang dijana secara automatik sebagai kunci utama.

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

Kenyataan:
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