gpt4 book ai didi

MySQL: errno: 105 无法创建表

转载 作者:行者123 更新时间:2023-11-29 04:16:45 25 4
gpt4 key购买 nike

我想做一个完全如下的数据库:

enter image description here

所以我想为每个表定义主键和外键。基于this回答,我看到了:

  • “城市”表有 1 个 PK(ID)和 1 个 FK(国家代码)

  • “countrylanguage”表有 2 个 PK(语言和国家/地区代码)和 1 个 FK(国家代码)

  • “国家”表有1个PK(代码)

所以我尝试在“预热”代码上施展魔法:

CREATE TABLE `City` (
`ID` int(11) NOT NULL,
`Name` varchar(35) NOT NULL ,
`CountryCode` varchar(3) NOT NULL DEFAULT '',
`District` varchar(20) NOT NULL ,
`Population` int(11) NOT NULL ,
PRIMARY KEY(`ID`) ,
FOREIGN KEY(`CountryCode`) REFERENCES `Country`(`Code`)
) ;

CREATE TABLE `CountryLanguage` (
`CountryCode` varchar(3) NOT NULL DEFAULT '',
`Language` varchar(30) NOT NULL ,
`IsOfficial` varchar(30) NOT NULL ,
`Percentage` float(4,1) NOT NULL ,
PRIMARY KEY(`Language`),
FOREIGN KEY(`CountryCode`) REFERENCES `Country`(`Code`)
) ;

CREATE TABLE `Country` (
`Code` varchar(3) NOT NULL DEFAULT '',
`Name` varchar(52) NOT NULL DEFAULT '',
`Continent` varchar(63),
`Region` varchar(26) 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` varchar(45) NOT NULL DEFAULT '',
`GovernmentForm` varchar(45) NOT NULL DEFAULT '',
`HeadOfState` varchar(60) DEFAULT NULL,
`Capital` int(11) DEFAULT NULL,
`Code2` varchar(2) NOT NULL DEFAULT '',
PRIMARY KEY(`Code`)
) ;

但是我的 mysql 命令行客户端有两次相同的错误 1005,并说它无法创建表 'test.city' 和 'test.countrylanguage'用 errno:150 作为解释。

所以我在这里搜索了一下,找到了一些关于不具有相同类型/参数的表元素的答案(例如 INT(2) 到 INT(2) NOT NULL)。据我所知,这里不会发生这样的事情。

我喝了咖啡的大脑还缺少什么?

提前感谢您抽出时间。

最佳答案

CREATE TABLE Country 首先,然后是 CREATE TABLE City,然后是 CREATE TABLE CountryLanguage,因为 TABLE Country 是被其他两个表引用。

关于MySQL: errno: 105 无法创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40751730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com