MySQL Storage Engines: MyISAM doesn't support Foreign Keys
|Reported by:||anonymous||Owned by:||nobody|
|Severity:||Normal||Keywords:||database, mysql, 'storage engine', myisam, 'foreign key'|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Description (last modified by aaugustin)
I was really wondering what this is supposed to mean. How can a Relational Database not support foreign keys?
So I had to go to to freenode#mysql to ask.
<Vacuity> or to be more precise, myisam doesn't support Foreign Key _Constraints_ <jay567> so I only have to check myself that the target of the FK is existant in the target table? <Vacuity> jay567: it means, although you can define a myisam table with a CONSTRAINT FOREIGN KEY (col1) REFERENCES othertable (foocol) ON DELETE CASCADE ... , myisam will ignore this and will not enforce FK constraint <Vacuity> jay567: yes, you will have to check that yourself <Vacuity> jay567: if you don't have a very good reason to use myisam, you should use innodb anyways :)
- This shouldn't be an issue with Django, because it does not rely on the database for the above check, right?
- Could you please try to be more clear, so people like me don't need to wonder (see first two sentences)?
Change History (3)
comment:1 Changed 3 years ago by aaugustin
- Description modified (diff)
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
comment:2 Changed 3 years ago by aaugustin
- Easy pickings set
- Triage Stage changed from Unreviewed to Accepted