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)
);

Այսպիսով, տվյալների բազան չի թույլատրի կրկնվող արժեքներով տողեր ավելացնել այս երկու սյունակներում։