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

Postgresql:Batasan unik atas Union of 2 kolom

Anda dapat menggunakan batasan pengecualian yang hanya membutuhkan satu indeks:

alter table transaction_links
  add constraint check_tx
  exclude using gist ( (array[send_id, receive_id]) with &&);

&& operator adalah operator "tumpang tindih" untuk array - yang berarti "memiliki elemen yang sama, terlepas dari urutan elemen dalam array. Dalam hal ini batasan mencegah untuk menyisipkan setiap baris di mana nilai (send_id, receive_id) muncul di beberapa baris tabel lainnya (terlepas dari kolomnya).

Namun, Anda memerlukan intarray ekstensi untuk itu.

Contoh online:https://rextester.com/QOYS23282




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengimpor file .sql di windows ke postgresql

  2. Salin data Tabel dari satu DB ke yang lain

  3. Rails:rake db:create:all gagal terhubung ke database PostgreSQL

  4. perhitungan persentil ke-n di postgresql

  5. Kesalahan:Tidak ada modul bernama psycopg2.extensions