Используя таблицу для обеспечения перечисления оценивает в MySQL?

Существует ли способ отобразить один из содержание столбцов таблицы MySQL к перечислению на другой таблице в MySQL? Я думал, что это не будет никаким brainer, но там, кажется, не информация, которую я могу найти на предмете.

Совет или справка по этому вопросу были бы прохладны и если бы это не возможно, кто-либо знает о внутренней причине, почему это не было бы возможно?

Наилучшие пожелания все:)

Gary

9
задан Gary Paluk 21 January 2010 в 04:26
поделиться

2 ответа

Тип enum подходит как одноквартирный, но он плохо масштабируется с несколькими таблицами и не стандартным SQL. Лучше всего сделать здесь - использовать нормальные таблицы и отношения:

  1. определить новую таблицу, чтобы удерживать список возможных значений; Давайте назовем это Master1
  2. в двух других таблицах (давайте назовем их Table1 и Table2), не сделайте поле enum ; Просто сделайте это нормальное поле с соотношением ключей для Master1.

Соотношение внешних ключей выполнит работу, ограничиваясь списком возможных значений; И поскольку иностранные ключи и отношения являются абсолютно стандартными SQL, этот подход будет иметь другие преимущества - например, инструменты отчетности могут распознавать внешний ключ и понять, как использовать связанные данные.

12
ответ дан 4 December 2019 в 19:33
поделиться

Если это не сделает этого, не делайте этого

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

Если вы хотите таблицу с возможными значениями Enum и ограничениями, перейдите для группировки через другую таблицу или группу в одной таблице (если элементы группы уникальны).

Пахнет столешницей, хотя присоединяйтесь к мудрым. Может быть, лучше всего делать в хранимой процедуре или в приложении и сопоставление его на собственное значение?

0
ответ дан 4 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: