同じテーブルへの MySQL 外部キーがエラー 1005、エラー番号 150 で失敗しました
-
22-09-2019 - |
質問
mysql> ALTER TABLE category ADD CONSTRAINT category_parent_category_id FOREIGN KEY (parent) REFERENCES category(id);
ERROR 1005 (HY000): Can't create table 'sfnews.#sql-244_1' (errno: 150)
DDL は次のようになります。
Create Table: CREATE TABLE `category` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`parent` bigint(20) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `parent_idx` (`parent`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
なぜ間違っているのでしょうか?
他のヒント
あなたはInnoDBエンジン(SHOW ENGINE InnoDB STATUS
)の状態を確認した場合、あなたは充実説明を取得します。
LATEST FOREIGN KEYエラー
[...]
参照先の列がテーブルと参照先テーブル内の最初の列、または列のタイプが制約のために一致していないとして表示され、参照テーブル内のインデックスを見つけることができません。
メイクid
符号なします。
所属していません StackOverflow