AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken alle Foreign Keys auflisten/löschen

alle Foreign Keys auflisten/löschen

Ein Thema von himitsu · begonnen am 6. Jul 2010 · letzter Beitrag vom 6. Jul 2010
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: alle Foreign Keys auflisten/löschen

  Alt 6. Jul 2010, 09:27
Warum nicht drop database ?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#2

AW: alle Foreign Keys auflisten/löschen

  Alt 6. Jul 2010, 09:31
Und was ist, wenn noch was Anderes in der Datenbank mit drin ist?
So würde z.B. auch mein Fotoalbum verschwinden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: alle Foreign Keys auflisten/löschen

  Alt 6. Jul 2010, 09:34
War ja aus deiner ursprünglichen Frage nicht ersichtlich

Hast du eine Möglichkeit einen dump der Datenbank zu erzeugen? Dann könntest du diesen in eine lokale Serverinstanz einspielen und die Abeiten dort durchführen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#4

AW: alle Foreign Keys auflisten/löschen

  Alt 6. Jul 2010, 09:42
War ja aus deiner ursprünglichen Frage nicht ersichtlich
Nja, ich lasse mir ja nicht "grundlos" nur bestimmte Tabellen auflisten.
SHOW TABLES LIKE 'prefix%' .


das mit dem DUMP probier ich dann mal.

Hab auch grade noch versteckt in der MySQL-Doku das gefinden
Zitat:
mysql> SET FOREIGN_KEY_CHECKS = 0;
mysql> SOURCE dump_file_name;
mysql> SET FOREIGN_KEY_CHECKS = 1;
Mal sehn, ob dieses SET FOREIGN_KEY_CHECKS nicht auch gleich das DROP TABLE in unbestimmter Reihenfolge ermöglicht.


Melde mich dann, wenn ich zurück bin und es versucht hab.
(muß erstmal was Anderes erledigen und bin 'nen kleines Weilchen weg)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#5

AW: alle Foreign Keys auflisten/löschen

  Alt 6. Jul 2010, 12:12
Hey cool, über den Tipp mit dem DUMP bin ich ja auf FOREIGN_KEY_CHECKS gestoßen und dieses scheint super zu funktionieren.

In meinem Fall sieht es nun etwa so aus, damit auch möglichst sichergestellt ist, daß es nachher auch wieder aktiviert wird.
SQL-Code:
echo "<h3><u>disable foreign key checking</u></h3>\r\n";
Main::$Database->Query('SET FOREIGN_KEY_CHECKS = 0');
Main::$Database->ResultCheck();
try {

  echo "<h3><u>remove all existing old database tables</u></h3>\r\n";
  Main::$Database->Query('DROP TABLE ' . implode(', ', $Tables));
  Main::$Database->ResultCheck();

} catch (Exception $E) {
  Main::$Database->Query('SET FOREIGN_KEY_CHECKS = 1');
  throw $E;
}
echo "<h3><u>enable foreign key checking</u></h3>\r\n";
Main::$Database->Query('SET FOREIGN_KEY_CHECKS = 1');
Main::$Database->ResultCheck();
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 6. Jul 2010 um 12:34 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz