Mam bazę danych, której kopię zapasową utworzono. Teraz próbuję usunąć całą zawartość z oryginalnej db i przywrócić ją do pustego stanu. ponieważ jest to relacyjny db ma ograniczenia kluczowe. Czy jest jakieś narzędzie, które mógłbym użyć do tego?Opróżnij schemat relacyjnej bazy danych
Odpowiedz
Najprostszym sposobem na wykonanie tej czynności jest prawdopodobnie wyłączenie sprawdzania klucza obcego, a następnie obcięcie tabel. Ponieważ klucze obce są wyłączone, kolejność, w której obcina się tabele, nie ma znaczenia.
set foreign_key_checks = 0;
truncate table parent;
truncate table child;
truncate table ...
Możesz nawet użyć atrybutu information_schema, aby wygenerować dla ciebie wyciągi z tabeli skróconych. Coś takiego:
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';
Dzięki za pomoc. Rozwiązano problem. –
Można tymczasowo upuścić lub wyłączyć wszystkie wiązania, obetnąć wszystkie tabele, a następnie przywrócić wiązania. Podjąłem to podejście dla SQL Server i działa dobrze.
http://lists.mysql.com/mysql/194954
Być może nawet lepszym rozwiązaniem byłoby, aby odwrócić się do schematu skryptów (które można umieścić pod kontrolą wersji), a następnie odtworzyć bazę danych od podstaw.
Dzięki. Spróbuję tych rozwiązań. –
Dzięki, rozwiązałeś problem. –
- 1. Schemat bazy danych ankiety
- 2. Schemat bazy danych MySQL
- 3. Schemat bazy danych EtherPad?
- 4. Mongoose: Sugerowany schemat bazy danych
- 5. Schemat bazy danych Android Sqlite
- 6. Schemat bazy danych podobnego systemu
- 7. Schemat bazy danych do przechowywania danych SNMP
- 8. Modelowanie algebraicznych typów danych przy użyciu relacyjnej bazy danych
- 9. Jak przetestować schemat bazy danych django?
- 10. Schemat bazy danych dla atrybutów produktów
- 11. Przykładowy schemat bazy danych dla Oracle
- 12. Uogólniony sposób wyodrębniania JSON z relacyjnej bazy danych?
- 13. Projektowanie relacyjnej bazy danych - Użyj hierarchicznych datameli lub ich unikaj?
- 14. Szybka relacyjnej bazy danych do łatwego użycia z Python
- 15. Standardowa baza danych neutralna XSD do opisania schematu relacyjnej bazy danych
- 16. Przechowywanie obiektów R w relacyjnej bazie danych
- 17. Jak utrzymać strukturę danych wykresu w relacyjnej bazie danych?
- 18. Rysuj schemat bazy danych na podstawie jednostek JPA w IntelliJ
- 19. Schemat bazy danych Wufoo - jak byś to zaprojektował?
- 20. Jak eksportować schemat bazy danych w Oracle do pliku zrzutu
- 21. Schemat bazy danych systemu powiadomień Podobnie jak w przypadku Facebooka
- 22. jak stworzyć schemat bazy danych do przechowywania produktów filtry wyszukiwania
- 23. Uzyskaj schemat bazy danych za pomocą jednego zapytania?
- 24. W jaki sposób (jednostka) Przetestuj schemat bazy danych?
- 25. Czy NHibernate może sprawdzić, czy schemat bazy danych został wygenerowany?
- 26. Jak wyeksportować schemat bazy danych PostgreSQL do formatu XML?
- 27. Schemat bazy danych MySQL do kontroli dostępu użytkownika i grupy
- 28. Dobry schemat usuwania pliku bazy danych w SQLiteOpenHelper.onDowngrade()
- 29. Jak ustawić domyślny schemat bazy danych w SQL Server 2005?
- 30. Dlaczego schemat bazy danych Wordpress nie używa kluczy obcych?
Nie znam narzędzia, które może to zrobić, ale może nie być konieczne. Sztuką jest usuwanie z tabel we właściwej kolejności. Kiedyś musiałem to zrobić w Oracle. Oracle ma własne tabele, które zawierają informacje o wszystkich relacjach między tabelami, które utworzyłem. Poprzez kwerendę dotyczącą tego metatable, udało mi się uzyskać prawidłową kolejność relacji w celu usunięcia bez nigdy uderzenia naruszenia klucza naruszenia (publikuję jako komentarz, ponieważ nie wiem, czy jest to możliwe w MySQL). Inną (i szybciej działającą) opcją jest wyłączenie ograniczeń, obcinanie, ponowne włączanie wiązań. – FrustratedWithFormsDesigner