2015-09-27 5 views
1

Я хотел бы добавить столбец в таблицу MySQL, где столбец примет переменную длину и неупорядоченную коллекцию элементов aka MULTISET.Могу ли я создать столбец MySQL с типом данных MULTISET?

Я пробовал: ALTER TABLE Students ADD COLUMN Medical MULTISET;

Но MySQL не доволен ERROR 1064 (42000): You have an error in your SQL syntax;

я не видел никаких примеров столбца, созданного с помощью MultiSet типа данных в сети, и я в том, чтобы думать, я «Неправильный путь».

Просьба сообщить.

ответ

1

Номер MySQL does not have a 'MULTISET' type. (И да, это еще одна причина, по которой не использовать этот сайт результатов поиска № 1.)

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

То есть, введите отдельную таблицу/отношение и соответствующие ограничения.


Использование «запятая отдельные строки» обычно заканчивается тем, что проблематично, так как он живет вне модели РА, хотя он также имеет некоторые встроенные в «поддержку» через FIND_IN_SET. Аналогично, тип данных JSON может быть полезен в некоторых случаях, , когда данные полностью непрозрачны. Однако оба эти подхода могут потерпеть неудачу, когда они желают выполнять объединения и обеспечивать ссылочную целостность.

0

Вы не можете. Mysql не поддерживает «Multiset» Но если вы хотите сделать это, вы просто свяжетесь по абстрактному, не делаете ключ foriegn и зададите следующий id для следующей записи!

+0

Почему бы не использовать внешний ключ? – Benjamin

Смежные вопросы