Does mysql support foreign keys ?

The answer to this is two-fold.

Yes. MySQL _DOES_ allow the creation of foreign key constraints (see and search documentation for the syntax and other

However, FKs are only ENFORCED with InnoDB (the default table-type is
MyISAM) tables at present. There is a task added to the TODO list for a
future version (5.0 or 5.1, I believe) to add full integrity checking on
FKs to all table types.

If you require integrity checking via FKs you MUST use InnoDB format
tables. MySQL also requires that you manually create an index on columns
which are to be referenced in FKs (both the reference column and the
referring column) for speed of queries/joins.

Was this answer helpful?

 Print this Article

Also Read

Select statement to join tables?

For a simple join:SELECT a.*, b.*FROM tblAlpha a, tblBeta bWHERE (a.keyfield = b.foreignkey);It's...

I'm new to MySQL, where should I start?

Useful Tutorials:Examples on using MySQL commands:...

How can i select random rows from a table?

SELECT * FROM table_name ORDER BY RAND();Found at...

What does this error message means - Warning: Supplied argument is not a valid MySQL result resource and how do you solve it?

I think you got this message from PHP.You get this message when you're trying to access $result...

What are the differences between GROUP BY and ORDER BY...the manual is not clear on this

GROUP BY is a way to sub-total your results, or perform some other "aggregate" function on...