MySQL - Supprimer la totalité des tables d'une base de données sans erreur
Pour supprimer l'ensemble des tables d'une base de données sans qu'il y ait d'erreurs (notamment les erreurs provoquées par les contraintes de clés étrangères), il suffit simplement de lancer la requête suivante :
SET FOREIGN_KEY_CHECKS = 0;
SET GROUP_CONCAT_MAX_LEN=32768;
SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_name, '`') INTO @tables
FROM information_schema.tables
WHERE table_schema = (SELECT DATABASE());
SELECT IFNULL(@tables,'dummy') INTO @tables;
SET @tables = CONCAT('DROP TABLE IF EXISTS ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
21 January 2018 - Tags : MySQL
Tweet |
Commentaires
Ajouter un commentaire
0 Commentaires
Rechercher
Tags
Articles récents
- jQuery - Utiliser des caractères spéciaux dans les noms des sélecteurs
- Linux - Donner les droits d'accès à un dossier
- RoR - A server is already running
- WampServer + Php - Installer XDebug
- MySQL - Appliquer un fichier MySQL en ligne de commande
- Erreur : "this is incompatible with sql_mode=only_full_group_by"
- MySQL - Supprimer la totalité des tables d'une base de données sans erreur
- PHP - Augmenter la taille d'upload des fichiers grâce au HTACCESS
- Filtrer sur la totalité des types d'espace en PHP
- Installer Certbot sous Debian et Apache