में डबल विदेशी कुंजी मैं एक विदेशी कुंजी के रूप में एक डबल प्राथमिक कुंजी का उपयोग करने की कोशिश कर रहा हूं।postgresql
Create table AAA (
AAA_id int primary key
);
create table BBB (
AAA_id int,
BBB_name character varying(20),
primary key (AAA_id, BBB_name)
);
create table CCC (
AAA_id,
BBB_name,
DDD_id,
... ???
);
तालिका एएए एक वस्तु
तालिका बीबीबी एएए के साथ एक के लिए कई है, और एएए
का उपनाम धारणमैं पिवट तालिका, सीसीसी, जो एक के लिए एक बहुत रखती है बनाने के लिए कोशिश कर रहा हूँ डीडीडी और बीबीबी के बीच।
मुझे लगता है कि मैं
create table CCC (
AAA_id,
BBB_name,
DDD_id,
foreign key (AAA_id, BBB_name) references BBB(AAA_id, BBB_name) on update cascade
);
जहां दोनों AAA_id और BBB_name विदेशी चाबियाँ हैं की तरह कुछ चाहते हैं, लेकिन वे भी हमेशा बीबीबी में एक ही पंक्ति का जिक्र कर रहे हैं।
लेकिन निश्चित रूप से यह मान्य नहीं है। postgreSQL में इस प्रकार के व्यवहार का उत्पादन करने का सबसे अच्छा तरीका क्या है?
यह पूरी तरह से मान्य है! लेकिन इसे *** "डबल" *** कुंजी नहीं कहा जाता है, यह ** ** "कंपाउंड" ** कुंजी है। –