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 janvier 2018 - MySQL
Commentaires
Ajouter un commentaire
0 commentaires
Rechercher
Tags
Articles récents
- PHP - Récupérer un élément aléatoirement dans un tableau
- Supprimer les valeurs en double d'un tableau en JS
- JS - Remplacer toutes les occurrences d'une chaîne
- PHP - Différences en require_once , include_once, require et include
- PHP - à quoi sert le symbole "??"
- "error:0308010C:digital envelope routines::unsupported"
- JS - Cacher tous les éléments d'une classe spécifique
- Démarrer et arrêter PostGreSQL en ligne de commande
- Docker - Supprimer les images inutilisées
- MySQL - Récupérer toutes les clés étrangères d'une colonne