InnoDBの外部キー制約に関するエラーメッセージが分かりづらい問題があった。MariaDB 5.5.45, 10.0.21からはエラーメッセージに大幅な改善が加わった。ここでは現状とその改修についてご紹介する。 外部キーはあるテーブルのフィールド(あるいはフィールドの集合)で他のテーブルの行をユニークに特定する為のものである。外部キーを含むテーブルは子テーブルと呼ばれ、候補キーを含むテーブルは参照テーブルあるいは親テーブルと呼ばれる。外部キーの目的は参照されるテーブルのある行を特定することである。このようにして、外部キーはプライマリテーブルの行にある候補キーであるか、値がないか(NULL値)のどちらかである必要がある。 これは2テーブル間の参照整合性制約と呼ばれる。これらの制約の違反は多くのデータベースの問題の原因となる為、ほとんどのDBMSではNULLでない外部キーは参照テーブルのある
![MariaDB: InnoDBの外部キー制約のエラー | Yakst](https://cdn-ak-scissors.b.st-hatena.com/image/square/ca06758d2b05cba2f89a1d53c584e69eb5d0adfe/height=288;version=1;width=512/https%3A%2F%2Fyakst.com%2Fpost_icons%2Fblog_default.png)