繁体   English   中英

1215-无法添加外键约束

[英]1215 - Cannot add foreign key constraint

我实际上尝试创建数据库,但是外键出现错误。 你能帮我吗?

DROP TABLE IF EXISTS `City`;
CREATE TABLE  `City` (`id` int(11) NOT NULL AUTO_INCREMENT,
`idCountry` int(11) DEFAULT NULL,
`Name` char(35) CHARACTER SET latin1 NOT NULL DEFAULT '',
`CountryCode` char(3) CHARACTER SET latin1 NOT NULL DEFAULT '',
`District` char(20) CHARACTER SET latin1 NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
 PRIMARY KEY (`id`) USING BTREE,
 KEY `fk_constraint_city_country` (`idCountry`),
 CONSTRAINT `fk_constraint_city_country` FOREIGN KEY (`idCountry`) 
 REFERENCES `Country` (`id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=utf8;

我有此错误:MySQL说:文档1215-无法添加外键约束

DROP TABLE IF EXISTS `Country`;
CREATE TABLE  `Country` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Code` char(3) CHARACTER SET latin1 DEFAULT NULL,
`Name` char(52) CHARACTER SET latin1 NOT NULL DEFAULT '',
`Continent` enum('Asia','Europe','North   
 America','Africa','Oceania','Antarctica','South America') CHARACTER SET    
 latin1 NOT NULL DEFAULT 'Asia',
`Region` char(26) CHARACTER SET latin1 NOT NULL DEFAULT '',
`SurfaceArea` float(10,2) NOT NULL DEFAULT '0.00',
`IndepYear` smallint(6) DEFAULT NULL,
`Population` int(11) NOT NULL DEFAULT '0',
`LifeExpectancy` float(3,1) DEFAULT NULL,
`GNP` float(10,2) DEFAULT NULL,
`GNPOld` float(10,2) DEFAULT NULL,
`LocalName` char(45) CHARACTER SET latin1 NOT NULL DEFAULT '',
`GovernmentForm` char(45) CHARACTER SET latin1 NOT NULL DEFAULT '',
`HeadOfState` char(60) CHARACTER SET latin1 DEFAULT NULL,
`Capital` int(11) DEFAULT NULL,
`Code2` char(2) CHARACTER SET latin1 NOT NULL DEFAULT '',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=240 DEFAULT CHARSET=utf8;

还有国家语言:

DROP TABLE IF EXISTS `CountryLanguage`;
CREATE TABLE  `CountryLanguage` (
`idCountry` int(11) NOT NULL DEFAULT '0',
`idLanguage` int(11) NOT NULL DEFAULT '0',
`IsOfficial` enum('T','F') CHARACTER SET latin1 NOT NULL DEFAULT 'F',
`Percentage` float(4,1) NOT NULL DEFAULT '0.0',
 PRIMARY KEY (`idCountry`,`idLanguage`) USING BTREE,
 KEY `fk_constraint_Language` (`idLanguage`),
 CONSTRAINT `fk_constraint_Country` FOREIGN KEY (`idCountry`) REFERENCES    
 `Country` (`id`),
 CONSTRAINT `fk_constraint_Language` FOREIGN KEY (`idLanguage`)    
 REFERENCES `Language` (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM