sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man skapar ett unikt index där kolumnordningen inte beaktas (set?)

Du kan skapa ett index på ett uttryck, i det här fallet least() och greatest() :

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

Notera:det finns en liten konstighet om kolumnerna tillåter NULL värden. I så fall skulle samma värde bara tillåtas en gång, oavsett i vilken kolumn det finns. Detta kan fixas med ett mer komplicerat uttryck, om det faktiskt är ett problem.




  1. Varför matchar inte Oracles varchar-sorteringsordning beteendet för varchar-jämförelse?

  2. Hur kan jag skydda MySQL användarnamn och lösenord från dekompilering?

  3. Kan inte uppdatera rad i Sqlite i Android men ger inget fel

  4. Hur man får en lista över aktiverade/inaktiverade kontrollbegränsningar i SQL Server Database - SQL Server/TSQL självstudie del 86