DROP TABLE IF EXISTS `user_message_type`;
CREATE TABLE `user_message_type` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` varchar(100) NOT NULL DEFAULT '',
`create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据创建时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=395 DEFAULT CHARSET=utf8 COMMENT='用户信息类型';
CREATE TABLE `user_message_record` (
`id` int(11) NOT NULL,
`message_id` int(11) NOT NULL,
`type_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_tb_dept1` (`type_id`),
CONSTRAINT `fk_tb_dept1` FOREIGN KEY (`type_id`) REFERENCES `user_message_type` (`id`)
);

你的第一个表指明了engine,但第二个没有,默认会是InnoDB, 引擎不一样时无法跨表建索引,
试试要么全指定,如下
要么全不指定。