आप prod_id
नहीं बना सकते table1
. की प्राथमिक कुंजी क्योंकि केवल कॉलम दो समग्र प्रकार हैं info
और movie
. आप इन मिश्रित प्रकारों के आधार प्रकारों को PRIMARY KEY
. में एक्सेस नहीं कर सकते हैं खंड।
आप जो करने की कोशिश कर रहे थे वह info
. पर pk बाधा के साथ काम करता है या movie
.
छोड़कर, शायद यह वह नहीं है जिसकी आपको तलाश थी, जो इस तरह से संभव नहीं है।
आप कुछ पसंद लागू कर सकते हैं इसके साथ...
विरासत
यहां आप कई पैरेंट टेबल (आपके प्रकार के लिए विकल्प) से प्राप्त कर सकते हैं। उदाहरण:
CREATE TABLE info (
prod_id integer
,category integer
);
CREATE TABLE movie (
title text
,actor text
,price float
);
CREATE TABLE movie_info (
PRIMARY KEY(prod_id) -- now we can use the base column!
)
INHERITS (info, movie);
INSERT INTO movie_info (prod_id, category, title, actor, price)
VALUES (1, 2, 'who donnit?', 'James Dean', '15.90');
SELECT * FROM movie_info;
-> SQLfiddle दोनों का प्रदर्शन।
मैनुअल में विरासत की सीमाओं के बारे में पढ़ना सुनिश्चित करें।