For MyISAM tables, MySQL ignores FOREIGN KEY constraints rather than considering them errors. The real cause is that MySQL just doesn't support that syntax, which is an extension to the SQL standard. Why didn't the MySQL developers add support for both? I'm not sure, but it's probably because...