Opened 13 years ago
Last modified 13 years ago
#17267 closed Cleanup/optimization
MySQL Storage Engines: MyISAM doesn't support Foreign Keys — at Initial Version
Reported by: | anonymous | Owned by: | nobody |
---|---|---|---|
Component: | Documentation | Version: | 1.2 |
Severity: | Normal | Keywords: | database, mysql, 'storage engine', myisam, 'foreign key' |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | yes | UI/UX: | no |
Description
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 :)
so
- 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)?