MySQL - условные ограничения внешнего ключа
У меня есть следующиеКомментарии' таблица в моем приложении:
comments
--------
id INT
foreign_id INT
model TEXT
comment_text TEXT
...
Идея этой таблицы состоит в том, чтобы хранить комментарии для различных частей моего приложения - она может хранить комментарии для поста в блоге, т.е.
1|34|blogpost|lorem ipsum...
фотография пользователя:
2|12|picture|lorem ipsum...
и так далее.
Теперь, есть ли способ навязать ограничение FOREIGN KEY для таких данных?
то есть что-то вроде этого в таблице комментариев:
FOREIGN KEY (`foreign_id`) REFERENCES blogposts (`id`)
//but only when model='blogpost'