外部キー制約に関するMySQLマニュアルを確認してください :
いくつかのアイデア:
- テーブルを削除して、整形式の構文で新しく作成することをお勧めします。
- 必ず
ENGINE=InnoDB;
を追加してくださいCREATE TABLE
-コマンド。 - MySQLサーバーでInnoDBが有効になっていることを確認してください。これを確認するには、次のコマンドを試してください:
SHOW VARIABLES LIKE 'have_innodb';
-YESが返された場合、InnoDBが有効になります。 - コマンドでテーブル名とフィールド名の大文字と小文字を確認してください。
- これを作成するテーブルだけでなく、外部キーが参照しているテーブルでもチェックしてください。
- 参照されるテーブルが適切にインデックス付けされていることを確認してください。