在WP中卸载插件后我不能删除表,为什么?

In uninstall.php I have this part of code, when I delete my plugin after it, I see that in my db I have all my plugin tables:

<?php
function my_plugin_remove_database()
{
    global $wpdb;
    $quiz_categories_table      =   $wpdb->prefix . 'aysquiz_quizcategories';
    $quizes_table               =   $wpdb->prefix . 'aysquiz_quizes';
    $questions_table            =   $wpdb->prefix . 'aysquiz_questions';
    $question_categories_table  =   $wpdb->prefix . 'aysquiz_categories';
    $answers_table              =   $wpdb->prefix . 'aysquiz_answers';
    $reports_table              =   $wpdb->prefix . 'aysquiz_reports';
    $themes_table               =   $wpdb->prefix . 'aysquiz_themes';
    $wpdb->query("DROP TABLE IF EXISTS `".$quiz_categories_table."`");
    $wpdb->query("DROP TABLE IF EXISTS `".$quizes_table."`");
    $wpdb->query("DROP TABLE IF EXISTS `".$questions_table."`");
    $wpdb->query("DROP TABLE IF EXISTS `".$question_categories_table."`");
    $wpdb->query("DROP TABLE IF EXISTS `".$answers_table."`");
    $wpdb->query("DROP TABLE IF EXISTS `".$reports_table."`");
    $wpdb->query("DROP TABLE IF EXISTS `".$themes_table."`");
}

register_uninstall_hook( __FILE__, 'my_plugin_remove_database' );

First you must delete parent tables because if you will delete your parent table first , your child tables cant find parent by foreign key, this is my code after changing

$wpdb->query("DROP TABLE IF EXISTS `".$answers_table."`");
$wpdb->query("DROP TABLE IF EXISTS `".$questions_table."`");
$wpdb->query("DROP TABLE IF EXISTS `".$quizes_table."`");
$wpdb->query("DROP TABLE IF EXISTS `".$reports_table."`");
$wpdb->query("DROP TABLE IF EXISTS `".$themes_table."`");
$wpdb->query("DROP TABLE IF EXISTS `".$quiz_categories_table."`");
$wpdb->query("DROP TABLE IF EXISTS `".$question_categories_table."`");

User following command for force deletion of tables:

SET foreign_key_checks = 0;
drop table ...
SET foreign_key_checks = 1;