我有一個表,看起來像這樣:MySQL的errror:150
CREATE TABLE `countrytable` (
`countryCode` varchar(2) NOT NULL DEFAULT '',
`currencyCode` varchar(3) NOT NULL,
`currencySymbol` varchar(4) NOT NULL DEFAULT '',
`currencyIsRight` tinyint(4) DEFAULT '0',
`currencyName` varchar(45) DEFAULT 'US Dollar',
`countryName` varchar(50) DEFAULT NULL,
PRIMARY KEY (`countryCode`,`currencyCode`),
UNIQUE KEY `countryCode_UNIQUE` (`countryCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我試圖創建另一個表,這對countrytable.currencyCode
的外鍵。我不斷收到以下錯誤:
The specified relation was unable to be created.
MySQL said: Can't create table 'noteitdb.#sql-b8_13' (errno: 150)
兩列的數據類型完全匹配。我可能會錯過什麼?
請參見右側欄,「相關」標題下的其他問題。 – Dev 2012-03-21 08:31:22
countrytable.currencyCode不是唯一的 – Devart 2012-03-21 08:32:50
是的,它不是唯一的,但是我在'countryCode','currencyCode'對上定義了一個PK。定義FK是否意味着被引用的列是唯一的?它不能是一組有效值嗎? – 2012-03-21 08:55:50