J'ai une base de données que j'ai sauvegardée. Maintenant, j'essaie de supprimer tout le contenu de la base de données originale et de le restaurer à son état vide. puisque c'est un db relationnel, il a des contraintes clés. Y a-t-il un outil que je pourrais utiliser pour cela?Vider un schéma de base de données relationnelle
Répondre
La méthode la plus simple consiste probablement à désactiver les vérifications de clé étrangère, puis à tronquer les tables. Étant donné que les clés étrangères sont désactivées, l'ordre dans lequel vous tronquez les tables n'a pas d'importance. Vous pouvez même utiliser le schéma information_schema pour générer les instructions de la table tronquée à votre place. Quelque chose comme ceci:
select concat('truncate table ',table_schema,'.',table_name,';') as sql_stmt
from information_schema.tables
where table_schema = 'your_schema_name'
and table_type = 'base table';
Merci pour l'aide. Résolu le problème. –
Vous pouvez supprimer ou désactiver temporairement toutes les contraintes, tronquer toutes les tables, puis restaurer les contraintes. J'ai pris cette approche pour SQL Server et cela fonctionne très bien.
http://lists.mysql.com/mysql/194954
Peut-être une approche serait encore mieux d'inverser le schéma dans les scripts (que vous mettez sous contrôle de version), puis recréez la base de données à partir de zéro.
Merci. Je vais essayer ces solutions. –
Merci, résolu le problème. –
- 1. schéma de base de données relationnelle
- 2. XSD neutre de base de données standard pour décrire un schéma de base de données relationnelle
- 3. base de données relationnelle
- 4. Base de données relationnelle
- 5. Base de données relationnelle ou base de données NoSQL
- 6. Base de données: relationnelle/non relationnelle/orientée objet ... Que choisir?
- 7. erreur de base de données relationnelle solr
- 8. Versionnement dans la base de données relationnelle
- 9. SQL SEARCHING base de données relationnelle
- 10. Question de modèle de conception de base de données relationnelle - base de données Massive Read Only
- 11. Base de données MYOB Schéma
- 12. un script bash pour vider une base de données
- 13. Récupérer des données de l'entrepôt de données dans la base de données relationnelle
- 14. Tout bon tutoriel de base de données relationnelle?
- 15. Utilisation de Lucene comme une base de données relationnelle
- 16. Question de schéma de base de données
- 17. Confusion de schéma de base de données
- 18. base de données relationnelle et la structure de réseau
- 19. Schéma de base de données de DomainModel
- 20. Schéma de la base de données EtherPad?
- 21. Schéma de base de données EAV
- 22. Comment puis-je implémenter un schéma de base de données relationnelle important dans un magasin de valeurs de clé de base?
- 23. Base de données de schéma Générateur
- 24. Vider uniquement une partie de la base de données sqlite
- 25. Réseau social - niveaux de confidentialité - schéma de base de données
- 26. Comment stockez-vous un trie dans une base de données relationnelle?
- 27. Rails: Flux de travail approprié pour décomposer les données XML en base de données SQL relationnelle
- 28. Stockage d'objets R dans une base de données relationnelle
- 29. Base de données relationnelle, photos, votes et avertissements
- 30. Vider les tables de la base de données dans mysql?
Je ne connais pas un outil qui peut faire cela mais il peut ne pas être nécessaire. L'astuce consiste à supprimer des tables dans le bon ordre. J'ai déjà dû le faire dans Oracle. Oracle a ses propres tables qui contiennent des informations sur toutes les relations entre les tables que j'ai créées. En interrogeant cette métabalise, j'ai pu obtenir le bon ordonnancement des relations afin de supprimer sans jamais toucher à une violation de contrainte de clé (je poste en commentaire car je ne sais pas si c'est possible en MySQL). L'autre option (et plus rapide) est de désactiver les contraintes, de tronquer, de réactiver les contraintes. – FrustratedWithFormsDesigner