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

Bagaimana cara membuat indeks unik di mana urutan kolom tidak diperhitungkan (set?)

Anda dapat membuat indeks pada ekspresi, dalam hal ini least() dan greatest() :

create unique index idx_obj1_obj2 on table(least(Object1, Object2), greatest(Object1, Object2));

Catatan:ada sedikit keanehan jika kolom mengizinkan NULL nilai-nilai. Dalam hal ini, nilai yang sama hanya akan diizinkan satu kali, terlepas dari kolomnya. Ini dapat diperbaiki dengan ekspresi yang lebih rumit, jika itu benar-benar masalah.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MIN() Fungsi di PostgreSQL

  2. PostgreSQL:FATAL - Otentikasi rekan gagal untuk pengguna (PG::ConnectionBad)

  3. Bermigrasi Dari Oracle ke PostgreSQL - Yang Harus Anda Ketahui

  4. Melewati nama kolom secara dinamis untuk variabel record di PostgreSQL

  5. konversi tipe data MySQL SET ke Postgres