MySQL - Restrições Condicionais de Chave Estrangeira
Tenho a seguinte tabela de 'comentários' no meu aplicativo:
comments
--------
id INT
foreign_id INT
model TEXT
comment_text TEXT
...
A ideia desta tabela é armazenar comentários para várias partes do meu aplicativo - ele pode armazenar comentários para postagens de blog, por exemplo:
1|34|blogpost|lorem ipsum...
imagem do usuário:
2|12|picture|lorem ipsum...
e assim por diante.
agora, existe uma maneira de forçar a restrição FOREIGN KEY em tais dados?
ou seja, algo assim na tabela de comentários:
FOREIGN KEY (`foreign_id`) REFERENCES blogposts (`id`)
//but only when model='blogpost'