MySQL错误#1005(代码150)

问题描述:

我曾尝试创建此表,但没有尝试过FK的工作.

I have tried create this table, but nothing I have tried works from FKs.

CREATE TABLE `tb_AutSituacao` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `Nome` varchar(50) CHARACTER SET latin1 NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

CREATE TABLE `tb_AutHistorico` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `Situacao` int(11) NOT NULL,
 `Data` date NOT NULL,
 `Agente` int(11) NOT NULL,
 `Proposta` int(11) NOT NULL,
 PRIMARY KEY (`id`),
 KEY `AutHistorico_Situacao` (`Situacao`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

ALTER TABLE `tb_AutHistorico` ADD FOREIGN KEY ( `Situacao` ) REFERENCES `sicor`.`tb_AutSituacao` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;

我总是得到#1005-无法创建表'tablename'(errno:150)".感谢您的帮助.

I always get "#1005 - Can't create table 'tablename' (errno: 150)". Thanks for help.

$ perror 150
MySQL error code 150: Foreign key constraint is incorrectly formed

修正您的FOREIGN KEY定义.