Я вижу преимущество отображения такого вывода в форме, но вы действительно хотите сохранить его в базе данных?
Например, для модели данных, содержащей список, разделенный запятыми, как в вашем примере, какой SQL-код вы бы использовали для идентификации всех автомобилей, доступных белым цветом?
Традиционный способ удерживать отношения «многие ко многим», как это, заключается в использовании дополнительной таблицы, например у вас есть отдельная таблица с CAR_COLOUR со следующим содержимым
CAR COLOUR
1 1
1 2
1 3
2 2
3 1
Так что теперь вы можете легко запрашивать такие вещи, как, получить список всех автомобилей и цветов
SELECT CAR, COLOUR
FROM CARS CA,
COLOUR COL,
CAR_COLOUR CACOL
WHERE CA.CAR=CACOL.CAR
AND CACOL.COL=COL.COLOUR
ИЛИ, если вы просто хотите белые машины, добавьте следующее к предложению WHERE
AND COL.COLOUR='White'
Индекс для полей id и для обоих полей в CAR_COLOUR будет означать, что вы получите высокую производительность, даже если у вас есть тысячи строк, тогда как помещение их всех в список через запятую в одном поле будет означать, что вы должны использовать substr или подобное что препятствует использованию индексов и означает, что по мере роста объема данных производительность будет быстро падать.