Sobes.tech
Senior

როგორ დავამატოთ PostgreSQL-ში უნიკალურობის შეზღუდვა ორი სვეტის კომბინაციაზე, სადაც ინდივიდუალური მნიშვნელობები შეიძლება განმეორდეს, მაგრამ წყვილები — არა?

sobes.tech AI

პასუხი AI-სგან

PostgreSQL-ში, ორი სვეტის მნიშვნელობების უნიკალურობის უზრუნველსაყოფად, გამოიყენება შეზღუდვა UNIQUE ამ ორი სვეტის წყვილზე. ეს უზრუნველყოფს, რომ თითოეული მნიშვნელობის წყვილი იქნება უნიკალური, მიუხედავად იმისა, რომ სვეტებში ინდივიდუალური მნიშვნელობები შეიძლება განმეორდეს.

SQL-ის მაგალითი:

ALTER TABLE თქვენი_ცხრილის_სახელი
ADD CONSTRAINT unique_col1_col2 UNIQUE (სვეტი1, სვეტი2);

თუ ცხრილი თავიდანვე იქმნება, შეზღუდვა შეიძლება დაუყოვნებლივ მითითდეს:

CREATE TABLE თქვენი_ცხრილის_სახელი (
    id SERIAL PRIMARY KEY,
    სვეტი1 TYP,
    სვეტი2 TYP,
    -- სხვა სვეტები
    CONSTRAINT unique_col1_col2 UNIQUE (სვეტი1, სვეტი2)
);

ამ გზით, მონაცემთა ბაზა არ დაუშვებს სვეტებში განმეორებადი მნიშვნელობების მქონე სვეტების დამატებას.