Как сохранить пресет поля в базе данных?

Я должен показать огромную таблицу для пользователя, и мне нужно разрешить пользователю выбирать поля, которые он хочет видеть.

Вопрос в следующем: каков наилучший способ хранения этих полей в базе данных? Единственная идея, которую я получил до сих пор, - это собрать таблицу следующим образом:

enter image description here

и установите эти поля в 0 или 1 , но мне кажется, что это плохая идея.

Что такое зверь?

0
nl ja de
@ajreal В MySQL отсутствует бит типа данных, просто boolean, и это на самом деле синоним для tinyint (1) <- да, это в руководстве.
добавлено автор fancyPants, источник
@ajreal Хорошо, не думал использовать его с BIT (1), да, вы правы.
добавлено автор fancyPants, источник
Я думаю, что значение entity-attribute больше подходит, также тип столбца BIT лучше, чем tinyint (значение tinyint accept, отличное от 0,1), для бит - только 0 или 1.
добавлено автор ajreal, источник
@tombom существует бит типа - dev.mysql.com/doc /refman/5.0/en/bit-type.html
добавлено автор ajreal, источник
@ajreal Я не могу понять, как использовать EAV здесь, не могли бы вы предложить какой-то пример или что-то еще? Спасибо за BIT , во всяком случае :)
добавлено автор k102, источник
@SparKot Я думаю, вы можете сделать это ответом, чтобы я мог его принять - это хорошо работает.
добавлено автор k102, источник
Таблица будет содержать user_id, field_name, enabled только выбрать те записи, которые включены в отношении данного user_id . Если Order полей настраивается, используйте другой столбец disp_order .
добавлено автор SparKot, источник

1 ответы

Let the table be : (user_id, field_name, enabled)

or if display order is needed too (user_id, field_name, disp_order, enabled)

Выберите те записи, которые включены для данного user_id (отсортированы по disp_order при необходимости).

1
добавлено
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw