Mysql
 sql >> Database >  >> RDS >> Mysql

ON DELETE CASCADE non funziona in MySQL

Il motore di archiviazione MyISAM non supporta i vincoli di chiave esterna. Il vincolo viene analizzato ma ignorato silenziosamente.

Per risolvere il tuo problema usa invece il motore InnoDB (per entrambe le tabelle).

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

Invece di eliminare le tabelle e ricrearle, puoi anche cambiare il motore di archiviazione:

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

Dopo aver modificato il motore, dovrai aggiungere nuovamente il vincolo di chiave esterna.