Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ON DELETE CASCADE funktioniert nicht in MySQL

Die MyISAM-Speicher-Engine unterstützt keine Fremdschlüsselbeschränkungen. Die Einschränkung wird geparst, aber stillschweigend ignoriert.

Um Ihr Problem zu beheben, verwenden Sie stattdessen die InnoDB-Engine (für beide Tabellen).

CREATE TABLE ( ... ) ENGINE = InnoDB ... ;

Anstatt Ihre Tabellen zu löschen und neu zu erstellen, können Sie auch die Speicher-Engine ändern:

ALTER TABLE myDB.app_info ENGINE = InnoDB;
ALTER TABLE myDB.tab_info ENGINE = InnoDB;

Nach dem Ändern der Engine müssen Sie die Fremdschlüsselbeschränkung erneut hinzufügen.