Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

alle Foreign Keys auflisten/löschen

  Alt 6. Jul 2010, 10:10
Datenbank: mySQL • Version: 5 • Zugriff über: php
Gibt es noch eine andere Möglichkeit, außer über information_schema.TABLE_CONSTRAINTS (darauf hab ich auf meinem Webspace keinen Zugriff) die vorhandenen Foreign Keys aufzulisten?

In SHOW CREATE TABLE sind diese Keys nicht mit enthalten.

SHOW FIELDS FROM listet unter Anderem diese Keys als Key=MUL auf,
aber ein Löschen der Spalte ging nur im ersten Durchlauf.
(ich vermute mal, er Foreign Key bleibt dabei irgendwie erhalten)

Beim 2. Versuch kam dann z.B. bei ALTER TABLE `hCMS_config` DROP COLUMN `GroupID`
Zitat:
result (1025): Error on rename of '.\test\#sql-ce0_1bc' to '.\test\hcms_config' (errno: 150)
Es geht dabei um das Entfernen einer alten Installation, bzw. alter Tabellen, vor einer Neuinstallation, wo diese Keys nicht bekannt sind. (bei der Installation noch eine weitere Tabelle einzurichten, wo diese Keys manuell eingetragen werden, wollte ich vermeiden)

Das Problem ist halt, daß DROP TABLE Tabellen nicht löschen kann, auf welche soein Key zeigt.
Zitat:
Cannot delete or update a parent row: a foreign key constraint fails

Irgendwie muß es doch möglich sein die alten Tabellen zu löschen.
Es scheint jedenfalls auch an der Reihenfolge zu liegen, in welcher man die Tabellen löscht (Alle zusammen über ein gemeinsames DROP TABLE geht auch nicht immer).
Manchmal kann die soeine Tabelle gelöscht werden und manchmal nicht.
$2B or not $2B

Geändert von himitsu ( 6. Jul 2010 um 10:16 Uhr)
  Mit Zitat antworten Zitat