PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mengapa urutan tidak diperbarui saat SALIN dilakukan di PostgreSQL?

Anda bertanya:

Ya, Anda harus, seperti yang didokumentasikan di sini :

Anda menulis:

Tapi itu tidak begitu! :) Saat Anda melakukan INSERT normal, biasanya Anda tidak menentukan nilai eksplisit untuk kunci utama yang didukung SEQUENCE. Jika ya, Anda akan mengalami masalah yang sama seperti yang Anda alami sekarang:

postgres=> create table uh_oh (id serial not null primary key, data char(1));
NOTICE:  CREATE TABLE will create implicit sequence "uh_oh_id_seq" for serial column "uh_oh.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "uh_oh_pkey" for table "uh_oh"
CREATE TABLE
postgres=> insert into uh_oh (id, data) values (1, 'x');
INSERT 0 1
postgres=> insert into uh_oh (data) values ('a');
ERROR:  duplicate key value violates unique constraint "uh_oh_pkey"
DETAIL:  Key (id)=(1) already exists.

Perintah COPY Anda, tentu saja, menyediakan id yang eksplisit nilai, seperti contoh INSERT di atas.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan setelah kesalahan dalam transaksi

  2. Bagaimana cara menggabungkan semua array integer dari semua record menjadi array tunggal di postgres

  3. Mengonfigurasi PostgreSQL untuk Kelangsungan Bisnis

  4. PostgreSQL - Otentikasi kata sandi gagal setelah menambahkan peran grup

  5. Postgresql menghapus beberapa baris dari beberapa tabel