Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melaksanakan Lajur Auto-Incrementing dalam PostgreSQL?
Ralat mungkin berlaku apabila cuba menggunakan AUTO_INCREMENT untuk menomborkan kunci utama secara automatik dalam PostgreSQL. SQL berikut menunjukkan contoh cuba mencipta jadual menggunakan AUTO_INCREMENT:
<code class="language-sql">CREATE TABLE Staff ( ID INTEGER NOT NULL AUTO_INCREMENT, Name VARCHAR(40) NOT NULL, PRIMARY KEY (ID) );</code>
Walau bagaimanapun, ralat dikembalikan:
<code>ERROR: ERROR: syntax error at or near "AUTO_INCREMENT" SQL state: 42601 Character: 63</code>
Ralat ini berlaku kerana AUTO_INCREMENT bukan sintaks yang sah untuk autokenaikan dalam PostgreSQL. Sebaliknya, mekanisme berbeza digunakan bergantung pada versi PostgreSQL:
PostgreSQL 10 atau lebih tinggi
Untuk PostgreSQL 10 atau lebih baru, gunakan jenis lajur IDENTITY. Sintaksnya adalah seperti berikut:
<code class="language-sql">CREATE TABLE staff ( staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY, staff text NOT NULL );</code>
PostgreSQL 9.6 atau lebih rendah
Untuk PostgreSQL 9.6 atau lebih rendah, gunakan jenis data bersiri:
<code class="language-sql">CREATE TABLE staff ( staff_id serial PRIMARY KEY, staff text NOT NULL );</code>
jenis data pseudo bersiri secara automatik mencipta objek jujukan dan menetapkan DEFAULT kepada nilai jujukan seterusnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Melaksanakan Lajur Auto-Incrementing dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!