CREATE TABLE `overview_doc_entry_version` ( `item_type` char(1) NOT NULL, `item_id` int(11) NOT NULL, `version` int(11) default NULL, `creator_id` int(11) NOT NULL, `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `status` char(1) NOT NULL, `estimated_size` int(11) default NULL, UNIQUE KEY `item_id_version` (`item_type`,`item_id`,`version`), KEY `creator_id` (`creator_id`), CONSTRAINT `overview_doc_entry_version_fk` FOREIGN KEY (`creator_id`) REFERENCES `user` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CREATE TABLE `acceptance_checklist` ( `id` int(11) NOT NULL auto_increment, `request_id` int(11) NOT NULL, `checklist_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `request_id` (`request_id`), KEY `checklist_id` (`checklist_id`), CONSTRAINT `acceptance_checklist_fk` FOREIGN KEY (`request_id`) REFERENCES `support_request` (`id`), CONSTRAINT `acceptance_checklist_fk1` FOREIGN KEY (`checklist_id`) REFERENCES `checklist` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -- THIS NEXT TABLE RETURNS: ERROR 1005 (HY000): -- Can't create table './mytasks/overview_doc_item_version_acceptance_checklist.frm' (errno: 150) CREATE TABLE `overview_doc_item_version_acceptance_checklist` ( `item_type` char(1) not null, `item_id` int(11) NOT NULL, `version` int(11) NOT NULL, `acceptance_checklist_id` int(11) NOT NULL, PRIMARY KEY (`item_type`, `item_id`, `version`, `acceptance_checklist_id`), KEY `item_type` (`item_type`,`item_id`, `version`), KEY `acceptance_checklist_id` (`acceptance_checklist_id`), CONSTRAINT `odiv_acceptance_checklist_ibfk_1` FOREIGN KEY (`acceptance_checklist_id`) REFERENCES `acceptance_checklist` (`id`), CONSTRAINT `odiv_acceptance_checklist_ibfk_2` FOREIGN KEY (`item_type`) REFERENCES `overview_doc_entry_version` (`item_type`, `item_id`, `version`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1