मैं इस परीक्षण प्रश्न के बारे में सोच रहा हूं। मैंने खुद को उदाहरण तैयार किया और इसका परीक्षण किया लेकिन मुझे अभी भी जवाब के बारे में अनिश्चित महसूस नहीं हुआ।MySQL। टेस्ट उदाहरण
निम्नलिखित के साथ:
CREATE TABLE foo (
id INT PRIMARY KEY AUTO_INCREMENT,
name INT
)
CREATE TABLE foo2 (
id INT PRIMARY KEY AUTO_INCREMENT,
foo_id INT REFERENCES foo(id) ON DELETE CASCADE
)
जहां तक मेरा जवाब देख सकते हैं:
एक। दो तालिकाओं
बनाया हालांकि वहां भी कर रहे हैं कर रहे हैं:
ज। तालिका foo2, 2 की एक foo_id साथ में एक पंक्ति हटा दी जाती है, तो तालिका foo में आईडी = 2 के साथ पंक्ति को स्वतः
हटा दी जाती है आईडी = 2 तालिका में foo हटा दी जाती है के साथ एक पंक्ति d.If, तालिका foo2 में foo_id = 2 के साथ सभी पंक्तियों
नष्ट हो जाती हैं मेरे उदाहरण में मैं नष्ट वाक्य रचना का इस्तेमाल किया है जाएगा:
DELETE FROM foo WHERE id = 2;
DELETE FROM foo2 WHERE foo_id = 2;
किसी कारण मैं हालांकि ऐसा लगता है तालिकाओं के बीच किसी भी रिश्ते खोजने में असमर्थ था के लिए जैसे एक होना चाहिए। शायद कुछ MySQL सेटिंग है या शायद ON DELETE CASCADE
तालिका निर्माण प्रश्नों में ठीक से उपयोग नहीं किया गया है? मैं सोच रहा हूं ...
** बी ** – JalalJaberi
की शुद्धता के लिए 'माईसाम' और 'इनो डीबी' के बीच उल्लेखनीय अंतर। आप सही हैं। यह ** डी ** था। उसके लिए खेद है। – JalalJaberi