多くの種類のオブジェクトの 1 つについて作成されたコメントを表す MySql (InnoDb) テーブルがあります。Concrete Table Inheritanceを使用しているため、以下に示すように、オブジェクトのタイプ (ストア、カテゴリ、アイテム) ごとに異なる外部キーがあります。レコードごとに、外部キーを 1 つだけ設定し、残りの 2 つを null にする必要があります。MySql でこの制約を指定するにはどうすればよいですか?
CREATE TABLE `tbl_comment` (
`comment_id` bigint(20) NOT NULL AUTO_INCREMENT, /* primary key */
`_user_id` bigint(20) NOT NULL, /* foreign key to user table - always set (NOT NULL) */
`store_id` int(11) DEFAULT NULL, /* foreign key to store table */
`category_id` bigint(20) DEFAULT NULL, /* foreign key to category table */
`item_id` bigint(20) DEFAULT NULL, /* foreign key to item table */
...