এখানে একটি সাধারণ টেবিল যেখানে রেকর্ডগুলি একই টেবিলে পিতামাতার রেকর্ডগুলি উল্লেখ করতে পারে:
CREATE TABLE foo (
id SERIAL PRIMARY KEY,
parent_id INT NULL,
num INT NOT NULL,
txt TEXT NULL,
FOREIGN KEY (parent_id) REFERENCES foo(id)
);
অন্যান্য ক্ষেত্রের মানগুলির একটি ( num
অবশ্যই) পিতামাতার এবং সন্তানের রেকর্ডের মধ্যে একরকম হওয়া আবশ্যক প্রয়োজনীয়তার সাথে আমি ভেবেছিলাম একটি যৌথ বিদেশী কীটি কৌশলটি করা উচিত। আমি শেষ লাইনে পরিবর্তন করেছি
FOREIGN KEY (parent_id, num) REFERENCES foo(id, num)
এবং ত্রুটি পেয়েছে : রেফারেন্স টেবিল "foo" এর জন্য প্রদত্ত কীগুলির সাথে কোনও অনন্য বাধা নেই ।
আমি সহজেই এই সীমাবদ্ধতাটি যুক্ত করতে পারি, তবে কেন রেফারেন্সযুক্ত কলামগুলির একটি ( id
) ইতিমধ্যে স্বতন্ত্র হওয়ার নিশ্চয়তা দিলে এটি কেন প্রয়োজন তা আমি বুঝতে পারি না ? আমি এটি যেভাবে দেখছি, নতুন প্রতিবন্ধকতা অতিরিক্ত কাজ করবে।
NULL != NULL
। যাইহোক .. :)