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:
CREATE TABLE Staff ( ID INTEGER NOT NULL AUTO_INCREMENT, Name VARCHAR(40) NOT NULL, PRIMARY KEY (ID) );
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:
CREATE TABLE staff ( staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY, staff text NOT NULL );
PostgreSQL 9.6 atau lebih rendah
Untuk PostgreSQL 9.6 atau lebih rendah, gunakan jenis data bersiri:
CREATE TABLE staff ( staff_id serial PRIMARY KEY, staff text NOT NULL );
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!