Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Lajur Auto-Incrementing dalam 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.
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.
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:
<code class="language-sql">CREATE TABLE staff ( staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY, staff text NOT NULL );</code>Klausa
GENERATED ALWAYS memastikan bahawa nilai lajur dijana secara automatik walaupun jika nilai disediakan secara eksplisit dalam pernyataan INSERT.
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:
<code class="language-sql">CREATE TABLE staff ( staff_id serial PRIMARY KEY, staff text NOT NULL );</code>
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.
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!