मेरे पास एक डेटाबेस है जहां मुझे कुछ विदेशी कुंजी छोड़ने की ज़रूरत है, लेकिन मुझे पहले से पता नहीं है कि विदेशी कुंजी अभी भी मौजूद है या नहीं।विदेशी कुंजी खोजने के लिए क्वेरी
मुझे कुछ संग्रहीत प्रक्रियाएं मिली हैं (http://forums.mysql.com/read.php?97,218825,247526) जो चाल करता है, लेकिन मैं इसके लिए एक संग्रहीत प्रक्रिया नहीं बनाना चाहता हूं।
मैं संग्रहीत प्रक्रिया के अंदर क्वेरी का उपयोग करने की कोशिश की है, लेकिन मैं का उपयोग कर "अगर मौजूद है (आदि .. आदि से शून्य का चयन करें कोई त्रुटि मिलती है ...
मैं केवल संग्रहित प्रक्रियाओं में IF EXISTS
का उपयोग कर सकते हैं?
अभी, केवल एक चीज मैं चला सकते हैं
SELECT * FROM information_schema.TABLE_CONSTRAINTS
WHERE information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'FOREIGN KEY'
AND information_schema.TABLE_CONSTRAINTS.TABLE_SCHEMA = 'myschema'
AND information_schema.TABLE_CONSTRAINTS.TABLE_NAME = 'mytable';
है और मैं यह भी
की कोशिश की हैIF EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = DATABASE() AND CONSTRAINT_NAME = parm_key_name) THEN
(...) do something (...)
END IF;
लेकिन मैं प्राप्त एक You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF' at line 1
मैं सरल प्रश्नों के साथ मंचों में उदाहरण के लिए देखा है और मैं क्यों यह काम नहीं कर रहा है मतलब नहीं कर सकते हैं।
नोट: टूटा हुआ लिंक
तो आपकी क्वेरी कैसी दिखती है? –
"विदेशी कुंजी छोड़ें" से आपका विशेष अर्थ क्या है? – gview
@ अलर्ट टेबल 'टेबल' की तरह कुछ गवाह करें 'डीआरओपी विदेशी कुंजी' एफके'; –