FOREIGN_KEY_CHECKS
एक महान उपकरण है, लेकिन अगर आपको यह जानने की जरूरत है कि बिना अपनी टेबल को गिराए और फिर से कैसे बनाया जाए। आप एक SELECT
. का उपयोग कर सकते हैं information_schema.TABLE_CONSTRAINTS
. पर स्टेटमेंट यह निर्धारित करने के लिए कि क्या विदेशी कुंजी मौजूद है:
IF NOT EXISTS (
SELECT NULL
FROM information_schema.TABLE_CONSTRAINTS
WHERE
CONSTRAINT_SCHEMA = DATABASE() AND
CONSTRAINT_NAME = 'fk_rabbits_main_page' AND
CONSTRAINT_TYPE = 'FOREIGN KEY'
)
THEN
ALTER TABLE `rabbits`
ADD CONSTRAINT `fk_rabbits_main_page`
FOREIGN KEY (`main_page_id`)
REFERENCES `rabbit_pages` (`id`);
END IF