sql >> Databáze >  >> RDS >> PostgreSQL

Postgresql vynucuje jedinečnou obousměrnou kombinaci sloupců

Varianta na Neilovo řešení, která nepotřebuje rozšíření, je:

create table friendz (
  from_id int,
  to_id int
);

create unique index ifriendz on friendz(greatest(from_id,to_id), least(from_id,to_id));

Neilovo řešení vám však umožňuje používat libovolný počet sloupců.

Oba se spoléháme na použití výrazů k vytvoření indexu, který je zdokumentován https://www.postgresql.org/docs/current/indexes-expressional.html



  1. Osvědčené postupy:Úlohy údržby a vylepšení pro Oracle Cloud

  2. Povolení podpory PostgreSQL v PHP na Mac OS X

  3. Jak používat RETURNING s ON CONFLICT v PostgreSQL?

  4. Začínáme s Oracle SQL Developer na MacOSX