我想作一個數據庫,如下準確:MySQL的:錯誤號:105無法創建表
,所以我想定義每個表的主鍵和外鍵。 基於this答案,我看到:
「城市」 表有1個PK(ID)和1 FK(COUNTRYCODE)
「countrylanguage」 表中有2 PK(語言和COUNTRYCODE) 1 FK (COUNTRYCODE)
「國」 表已經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作爲解釋。
所以我在這裏搜索了一下,發現了一些關於不具有相同類型/參數(f.e.INT(2)到INT(2)NOT NULL)的表元素的答案。就像我所看到的那樣,這裏沒有發生這種情況。
我在這裏失去了咖啡的大腦是什麼?
非常感謝您提前預約。
這不能被標記爲mysql和sql-server。選一個 – WillardSolutions
我正要編輯刪除它。對不起。 – Coursal