Senior
PostgreSQL'da ikkita ustun kombinatsiyasida yagona cheklovni qanday qo'shish mumkin, bu yerda alohida qiymatlar takrorlanishi mumkin, lekin juftliklar emas?
sobes.tech AI
AIdan javob
PostgreSQL'da, ikki ustun qiymatlari kombinatsiyasining unikalligini ta'minlash uchun, bu ustunlar juftligi bo'yicha UNIQUE cheklov qo'llaniladi. Bu har bir qiymat juftligi unikal bo'lishini ta'minlaydi, hatto ustunlardagi individual qiymatlar takrorlanishi mumkin bo'lsa ham.
SQL so'rovi misoli:
ALTER TABLE sizning_jadval_nomingiz
ADD CONSTRAINT unique_col1_col2 UNIQUE (ustun1, ustun2);
Agar jadval boshidan yaratilayotgan bo'lsa, cheklovni darhol belgilash mumkin:
CREATE TABLE sizning_jadval_nomingiz (
id SERIAL PRIMARY KEY,
ustun1 TURI,
ustun2 TURI,
-- boshqa ustunlar
CONSTRAINT unique_col1_col2 UNIQUE (ustun1, ustun2)
);
Shu tarzda, ma'lumotlar bazasi bu ikki ustundagi takrorlangan qiymat kombinatsiyalariga ega satrlarni qo'shishni oldini oladi.