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

pelanggaran indeks unik selama pembaruan

Indeks unik dievaluasi per baris bukan per pernyataan (misalnya berbeda dengan implementasi Oracle)

Solusi untuk masalah ini adalah dengan menggunakan batasan yang unik yang dapat ditangguhkan dan dengan demikian dievaluasi pada akhir transaksi.

Jadi sebagai gantinya dari indeks unik, tentukan batasan:

alter table test add constraint test_idx_pos unique (pos)
  deferrable initially deferred;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa fungsi PL/pgSQL memiliki efek samping, sedangkan fungsi SQL tidak?

  2. Postgresql menerapkan kombinasi kolom dua arah yang unik

  3. bundel gagal - Tidak dapat menemukan pustaka klien PostgreSQL (libpq)

  4. postgresql kurang mendukung untuk kueri parameterizd

  5. bidang kutipan CSV yang tidak diakhiri di Postgres