यदि आप छोड़ी गई तालिका को फिर से बनाते हैं, तो इसकी एक परिभाषा होनी चाहिए जो इसे संदर्भित करने वाली विदेशी कुंजी बाधाओं के अनुरूप हो। इसमें सही कॉलम नाम और प्रकार होने चाहिए, और इसमें संदर्भित कुंजियों पर अनुक्रमणिका होनी चाहिए, जैसा कि पहले कहा गया है। यदि ये संतुष्ट नहीं हैं, तो MySQL त्रुटि संख्या 1005 लौटाता है और त्रुटि संदेश में त्रुटि 150 को संदर्भित करता है।
मेरा संदेह ऐसा इसलिए है क्योंकि आपने foo
नहीं बनाया है InnoDB के रूप में, जैसा कि बाकी सब ठीक दिखता है।
संपादित करें:उसी पृष्ठ से -
<ब्लॉकक्वॉट>दोनों तालिकाएँ InnoDB तालिकाएँ होनी चाहिए और वे TEMPORARY तालिकाएँ नहीं होनी चाहिए।