私はそうのように見えるのテーブルを持っている: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)
2つの列のデータ型が完全に一致します。私は何が欠けていますか?
右側のバーを参照してください。関連する見出しの下にあるその他の質問。 – Dev
countrytable.currencyCodeはユニークではありません – Devart
はい、ユニークではありませんが、私は 'countryCode'、' currencyCode'のペアで定義されたPKを持っています。 FKの定義は、参照列が一意であることを意味しますか?有効な値のセットから1つではありませんか? –