#mysql #sql #relational-database
#mysql #sql #реляционная база данных
Вопрос:
Я обнаружил, что запрос не получает фактического значения, посмотрите.
CREATE TABLE pizza_order (
menu_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
item_name VARCHAR(20) NOT NULL,
toppings SET('Cheese','Sausage','Pepperoni','Ham','Pinapple','Salami') NOT NULL
);
Здесь не получается этот «SET», что это значит и что на самом деле он делает.
Комментарии:
1. Руководство — хорошее место для начала dev.mysql.com/doc/refman/8.0/en/set.html
2. Вот она: dev.mysql.com/doc/refman/8.0/en/set.html
Ответ №1:
SET
Тип в MySQL позволяет этому столбцу иметь нулевое или более значений. См. 11.3.6 Тип SET.
В этом случае столбец toppings
может содержать любой из:
- Сыр
- Колбаса
- Пепперони
- Ham
- Pinapple
- Салями
Хотя она выполняет свою работу, это очень жесткая форма хранения данных. Что, если вы хотите динамически добавлять начинки, о которых разработчик не подумал?