Php MySQL错误代码1005,SQL状态HY000:Can';t创建表';cpis.cpis sudent#u profile';(错误编号:150)

Php MySQL错误代码1005,SQL状态HY000:Can';t创建表';cpis.cpis sudent#u profile';(错误编号:150),php,mysql,sql,Php,Mysql,Sql,我需要你的帮助!我无法确定问题是什么。。。 我认为一切都是正确的,但MySQL抛出了一个错误1005,SQL状态HY000:无法创建表“cpis.cpis\u sudent\u profile”(错误号:150) program\u id varchar(100)应与cpis\u程序(id int(11))具有相同的数据类型。由于数据类型不同,无法建立约束。例如 简化代码,直到错误消失。然后回顾你最后的变化。这将帮助你发现错误对于Stackoverflow,实际的要求是,您给出一个reduced

我需要你的帮助!我无法确定问题是什么。。。 我认为一切都是正确的,但MySQL抛出了一个错误1005,SQL状态HY000:无法创建表“cpis.cpis\u sudent\u profile”(错误号:150)

program\u id varchar(100)
应与
cpis\u程序(id int(11))具有相同的数据类型
。由于数据类型不同,无法建立约束。例如


简化代码,直到错误消失。然后回顾你最后的变化。这将帮助你发现错误对于Stackoverflow,实际的要求是,您给出一个reduced as not contract can reduced示例来演示问题。粘贴SQL查询的这堵文本墙只是给别人一记耳光,通常被认为是不礼貌的。请参阅“帮助”部分。虽然同意上述内容,但您提到的具体错误是由于格式不正确的约束造成的。有关详细信息,请参阅。可能问题在于,在创建cpis_学生档案表的部分中,有三个不同的FK引用一个PK(cpis_用户(
id
)。尝试删除最后两个约束,然后一次将它们放回一个。另请参阅所有类似的问题->>>>在此之前,我已经解决了这些问题。我感谢您为我分配了宝贵的时间!今天我有20个小时没睡觉了,可能是该睡觉的时候了
DROP TABLE IF EXISTS `cpis_users`;
CREATE TABLE `cpis_users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(20) NOT NULL,
  `password` varchar(128) NOT NULL,
  `email` varchar(128) NOT NULL,
  `activkey` varchar(128) NOT NULL DEFAULT '',
  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `lastvisit_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `status` boolean NOT NULL DEFAULT false,
  `user_type` varchar(128) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`),
  KEY `status` (`status`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `cpis_countries`;
CREATE TABLE `cpis_countries` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(3) NOT NULL,
  `title_ru` varchar(100) DEFAULT NULL,
  `title_en` varchar(100) DEFAULT NULL,
  `title_cz` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
)ENGINE=InnoDB  DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `cpis_programs`;
CREATE TABLE `cpis_programs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title_ru` varchar(100) DEFAULT NULL,
  `description_ru` text DEFAULT NULL,
  `title_en` varchar(100) DEFAULT NULL,
  `description_en` text DEFAULT NULL,
  `title_cz` varchar(100) DEFAULT NULL,
  `description_cz` text DEFAULT NULL,
  `publicated` boolean DEFAULT false,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `cpis_sudent_profile`;
CREATE TABLE `cpis_sudent_profile` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `fname` varchar(100) NOT NULL,
  `pname` varchar(100) NOT NULL,
  `lname` varchar(100) NOT NULL,
  `birthday` date NOT NULL,
  `citizenship` int(11) NOT NULL,
  `sex` varchar(30) NOT NULL,
  `program_id` varchar(100) NOT NULL,
  `owner` int(11) DEFAULT NULL,
  `member` int(11) DEFAULT NULL,
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
   PRIMARY KEY (`id`),
   CONSTRAINT `spfk_1` FOREIGN KEY (`user_id`) REFERENCES `cpis_users` (`id`),
   CONSTRAINT `spfk_2` FOREIGN KEY (`citizenship`) REFERENCES `cpis_countries` (`id`),
   CONSTRAINT `spfk_3` FOREIGN KEY (`program_id`) REFERENCES `cpis_programs` (`id`),
   CONSTRAINT `spfk_4` FOREIGN KEY (`owner`) REFERENCES `cpis_users` (`id`),
   CONSTRAINT `spfk_5` FOREIGN KEY (`member`) REFERENCES `cpis_users` (`id`)  
) ENGINE=InnoDB CHARSET=utf8;
...
DROP TABLE IF EXISTS `cpis_sudent_profile`;

CREATE TABLE `cpis_sudent_profile` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `fname` varchar(100) NOT NULL,
  `pname` varchar(100) NOT NULL,
  `lname` varchar(100) NOT NULL,
  `birthday` date NOT NULL,
  `citizenship` int(11) NOT NULL,
  `sex` varchar(30) NOT NULL,
  /*`program_id` varchar(100) NOT NULL,*/
  `program_id` int(11) NOT NULL,
  `owner` int(11) DEFAULT NULL,
  `member` int(11) DEFAULT NULL,
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
   PRIMARY KEY (`id`),
   CONSTRAINT `spfk_1` FOREIGN KEY (`user_id`) REFERENCES `cpis_users` (`id`),
   CONSTRAINT `spfk_2` FOREIGN KEY (`citizenship`) REFERENCES `cpis_countries` (`id`),
   CONSTRAINT `spfk_3` FOREIGN KEY (`program_id`) REFERENCES `cpis_programs` (`id`),
   CONSTRAINT `spfk_4` FOREIGN KEY (`owner`) REFERENCES `cpis_users` (`id`),
   CONSTRAINT `spfk_5` FOREIGN KEY (`member`) REFERENCES `cpis_users` (`id`)  
) ENGINE=InnoDB CHARSET=utf8;