DBAtlas · データベース運用アトラス

1215: Cannot add foreign key constraint(外部キー制約を追加できない)

MySQL

意味

定義しようとしている外部キー制約を作成できない。MySQL は制約を追加できない。

原因

子列と参照先列の間でのデータ型/長さ/符号 (signed-unsigned) または文字セット/照合順序の不一致、参照先列に適切なインデックス/PRIMARY KEY がない、テーブルのストレージエンジンが異なる (一方が MyISAM)、または参照先テーブルがまだ存在しない。

対処方法

両側の列の型が完全に同一であることを確認する (例: 両方とも INT UNSIGNED)。参照先列にインデックスがあることを確認する (通常は PRIMARY KEY または UNIQUE)。両方のテーブルが InnoDB であることを確認する。文字列キーには同じ charset/collation を使う。詳細: SHOW ENGINE INNODB STATUS (LATEST FOREIGN KEY ERROR)。

DBAtlas で開く →

同じデータベースの他の項目