Jump to content

Archived

This topic is now archived and is closed to further replies.

Madatan

MySQL Foreign Key

Recommended Posts

Okey, so I tried to create a Foreign Key in MySQL by using the following commands:

FOREIGN KEY(keyname) REFERENCES tablename(keyname)

The table was create but foreign keys didn't work. Is foreign keys even supported by mysql and if it is how do I make one?

Share this post


Link to post
Share on other sites
I believe foreign keys are supported if you create an InnoDB table, but MyISAM does not support them. You can read about the various differences between InnoDB and MyISAM in the mysql documentation.

Share this post


Link to post
Share on other sites
[!--quoteo(post=351595:date=Mar 4 2006, 10:13 AM:name=wickning1)--][div class=\'quotetop\']QUOTE(wickning1 @ Mar 4 2006, 10:13 AM) [snapback]351595[/snapback][/div][div class=\'quotemain\'][!--quotec--]
I believe foreign keys are supported if you create an InnoDB table, but MyISAM does not support them. You can read about the various differences between InnoDB and MyISAM in the mysql documentation.
[/quote]

I see, good to know. That helps alot, can I combine MyISAM and InnoDB or do I have to make all the connected tables of the same type? For example, can I have a foreign key in a InnoDB table that references to a MyISAM table?

Share this post


Link to post
Share on other sites
Unfortunately not -- and that causes all sorts of weird errors to when trying to enforce referential integrity.

Share this post


Link to post
Share on other sites
There is an alternative way, however.

Try this: [a href=\"http://mysqld.active-venture.com/example-Foreign_keys.html\" target=\"_blank\"]http://mysqld.active-venture.com/example-Foreign_keys.html[/a]

Share this post


Link to post
Share on other sites
That "alternative" is NOT referential integrity -- it's just a JOIN statement. That is, using foreign keys is not equivalent in any way, shape or form to having referential integrity. We all use foreign keys all the time.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.