错误:150"外键约束不正确

时间:2017-05-09 09:45:58

标签: mysql codeigniter-3

我有一个简单的数据库,其中有两个表,应用程序类别。类别取决于应用程序,因此我想在删除应用程序时删除类别。为此,我在类别表中使用了外键。它在本地服务器上工作正常,但是当我将它上传到在线服务器时,它会显示错误: enter image description here

我尝试了很多,但无法解决这个问题。任何人都可以建议我如何更改我的数据库。我的数据库片段是:

CREATE TABLE `app_name` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

CREATE TABLE `app_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `app_id` int(11) DEFAULT NULL,
  `name` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `app_category` (`app_id`),
  CONSTRAINT `app_category` FOREIGN KEY (`app_id`) REFERENCES `app_name` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;

1 个答案:

答案 0 :(得分:0)

请与表名交叉检查,因为它在我的机器上正常工作实际上当我们有不同的数据类型时会发生此错误

  

例如id in app_nameapp_id in app_category需要具有相同数据int (11) not null的相同数据类型。