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)
);
Мындайча, маалыматтар базасы бул эки колонкадагы кайталанган маанилер менен саптарды кошууга уруксат бербейт.