Se non vuoi (oltre?) normalizzare le tue tabelle e vuoi davvero solo memorizzare un elenco di ID, allora ti suggerisco di usare un semplice elenco separato da virgole, perché MySQL ha già alcune funzioni che possono gestire direttamente la virgola valori di stringa separati:
FIND_IN_SET
:http://dev. mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set
SELECT FIND_IN_SET('b','a,b,c,d'); --> 2
CONCAT_WS
:http://dev.mysql. com/doc/refman/5.0/en/string-functions.html#function_concat-ws
SELECT CONCAT_WS(',','First name',NULL,'Last Name'); --> 'First name,Last Name'
Naturalmente, non sarai in grado di eseguire SQL JOIN, ma può comunque essere utile.