Varakorn Ungvichian wrote:
Just realised something: my table was MyIsam. I
switched it to InnoDB (which support FKs), but now:
1. "Show Create Table" still doesn't show reference
links, and

Well, of course not. It won't show them until you create them, which you haven't done according to #2.


2. I can't seem to make foreign keys, because it
generates the error: "ERROR 1005: Can't create table
'.\ltab\#sql-60c_11.frm' (errno: 150)". It happens
through both defining it as part of Create Table, and
trying to add it later with Alter Table ("alter table
employees add foreign key (position_id) references
positions(position_id);").

If both are InnoDB, this is usually due to a missing index. From the manual <http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html>, "Both tables must be InnoDB type. In the referencing table, there must be an index where the foreign key columns are listed as the first columns in the same order. In the referenced table, there must be an index where the referenced columns are listed as the first columns in the same order. Index prefixes on foreign key columns are not supported."


Varakorn Ungvichian

Michael

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to