Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengesahkan Integriti Rujukan dalam Jadual InnoDB Selepas Pengubahsuaian Data Pukal?
Menguatkuasakan Integriti Rujukan dalam Jadual InnoDB
Kekangan kunci asing dalam jadual InnoDB memastikan integriti data dengan menghalang pemadaman rekod yang dirujuk. Walau bagaimanapun, selepas pengubahsuaian data pukal, anda mungkin perlu mengesahkan bahawa kekangan kunci asing masih utuh.
InnoDB tidak menyediakan kaedah terbina dalam untuk memaksanya menyemak semula kunci asing. Walau bagaimanapun, prosedur tersimpan SQL tersuai boleh dibuat untuk melaksanakan tugas ini.
Prosedur Tersimpan SQL Tersuai
Prosedur tersimpan berikut, ANALYZE_INVALID_FOREIGN_KEYS, boleh digunakan untuk menganalisis semua jadual dalam pangkalan data dan mengenal pasti mana-mana asing yang tidak sah kunci:
DELIMITER $$ DROP PROCEDURE IF EXISTS ANALYZE_INVALID_FOREIGN_KEYS$$ CREATE PROCEDURE `ANALYZE_INVALID_FOREIGN_KEYS`( checked_database_name VARCHAR(64), checked_table_name VARCHAR(64), temporary_result_table ENUM('Y', 'N')) LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA BEGIN -- ... (stored procedure code) ... END$$ DELIMITER ;
Penggunaan
Untuk menggunakan prosedur tersimpan, laksanakan pertanyaan berikut:
CALL ANALYZE_INVALID_FOREIGN_KEYS('%', '%', 'Y');
Ini akan menganalisis semua jadual dalam pangkalan data semasa dan menyimpan sebarang pelanggaran kunci asing yang tidak sah dalam jadual sementara bernama INVALID_FOREIGN_KEYS.
Mentafsir Keputusan
Jadual INVALID_FOREIGN_KEYS akan mengandungi maklumat berikut untuk setiap kunci asing yang tidak sah:
HAD
Perhatikan bahawa prosedur ini mempunyai had berikut:
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Integriti Rujukan dalam Jadual InnoDB Selepas Pengubahsuaian Data Pukal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!