errno 150 - foreign key problems
I'm using 5.0.19 on Linux and MySQL Admin 1.1.9. I was changing column names in some tables with foreign key references, and I am now at the point that I cannot change a table from MyISAM to InnoDB due to a non-existant foreign key constraint. SHOW CREATE TABLE FUN_Function yields:
CREATE TABLE `FUN_Function` (
`FUNlFunctionKey` int(11) NOT NULL default '0',
`FUNvc255Description` varchar(255) collate latin1_general_ci NOT NULL default '',
`FUNTCOlFunctionAccessKey` int(11) NOT NULL default '0',
`FUNvc50Group1` varchar(50) collate latin1_general_ci default NULL,
`FUNvc50Group2` varchar(50) collate latin1_general_ci default NULL,
PRIMARY KEY (`FUNlFunctionKey`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
yet when I try to ALTER TABLE FUN_Function ENGINE=InnoDB the result is:
ERROR 1025 (HY000): Error on rename of './TXCAD/#sql-5912_86' to './TXCAD/FUN_Function' (errno: 150)
and SHOW INNODB STATUS yields:
LATEST FOREIGN KEY ERROR
------------------------
060609 17:45:48 Error in foreign key constraint of table TXCAD/FUN_Function:
there is no index in the table which would contain
the columns as the first columns, or the data types in the
table do not match to the ones in the referenced table. Constraint:
,
CONSTRAINT FK_FUN_Function_COD_Code FOREIGN KEY (FUNCODlFunctionAccessKey) REFERENCES COD_Code (CODlCodeKey)
This FK reference is left over from before I made changes to the column names, but nothing I do seems to get rid of the CONSTRAINT. Suggestions, please?
Subject
Views
Written By
Posted
errno 150 - foreign key problems
58907
June 09, 2006 03:50PM
23187
June 12, 2006 12:55AM
13613
June 12, 2006 08:22AM
9710
December 07, 2006 07:28AM
8237
June 12, 2006 02:07PM
7358
October 07, 2008 04:58PM
6244
October 07, 2008 05:55PM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.