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.