InnoDBの外部キー制約に関するエラーメッセージが分かりづらい問題があった。MariaDB 5.5.45, 10.0.21からはエラーメッセージに大幅な改善が加わった。ここでは現状とその改修についてご紹介する。 外部キーはあるテーブルのフィールド(あるいはフィールドの集合)で他のテーブルの行をユニークに特定する為のものである。外部キーを含むテーブルは子テーブルと呼ばれ、候補キーを含むテーブルは参照テーブルあるいは親テーブルと呼ばれる。外部キーの目的は参照されるテーブルのある行を特定することである。このようにして、外部キーはプライマリテーブルの行にある候補キーであるか、値がないか(NULL値)のどちらかである必要がある。 これは2テーブル間の参照整合性制約と呼ばれる。これらの制約の違反は多くのデータベースの問題の原因となる為、ほとんどのDBMSではNULLでない外部キーは参照テーブルのある
