আমি নিয়মিত "অন ডিলিট ক্যাসকেড" ব্যবহার করি তবে আমি কখনই "ওয়ান আপডেট আপডেট ক্যাসকেড" ব্যবহার করি না কারণ এটি কোন পরিস্থিতিতে কার্যকর হবে তা সম্পর্কে আমি নিশ্চিত নই।
আলোচনার খাতিরে কিছু কোড দেখতে দিন।
CREATE TABLE parent (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
);
CREATE TABLE child (
id INT NOT NULL AUTO_INCREMENT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE
);
"অন id
ডিলেট ক্যাসকেড" এর জন্য, যদি কোনও পিতামাতার সাথে মুছে ফেলা হয়, তবে সন্তানের একটি রেকর্ড parent_id = parent.id
স্বয়ংক্রিয়ভাবে মোছা হবে। এটি কোন সমস্যা হওয়া উচিত।
এর অর্থ
id
পিতামাতার আপডেট হওয়ার পরে "অন আপডেট আপডেট ক্যাসকেড" একই কাজ করবে ?(1) সত্য, এটা মানে "আপডেট CASCADE" ব্যবহার করতে যদি কোন প্রয়োজন নেই যে
parent.id
যখন এটি মত updatable নয় (বা আপডেট করা হবে না)AUTO_INCREMENT
বা সবসময় হতে সেটTIMESTAMP
। এটা কি সঠিক?যদি (২) সত্য না হয়, অন্য কোন ধরণের পরিস্থিতিতে আমাদের "ওএন আপডেট আপডেট ক্যাসকেড" ব্যবহার করা উচিত?
যদি আমি (কোনও কারণে) আপডেট না
child.parent_id
করে কিছু বিদ্যমান না থাকার জন্য আপডেট করি তবে তা কি স্বয়ংক্রিয়ভাবে মুছে ফেলা হবে?
ঠিক আছে, আমি জানি, উপরের কয়েকটি প্রশ্নাবলীর জন্য পরীক্ষামূলকভাবে পরীক্ষা করা যেতে পারে তবে আমি এটিও জানতে চাই যে এটিগুলির মধ্যে কোনও ডাটাবেস বিক্রেতারা নির্ভরশীল কিনা not
দয়া করে কিছু আলোকপাত করুন।