Создайте таблицу mySQL с атрибутом города, который может быть только одним из трех разных городов

Я пытаюсь написать сценарий, который создает базу данных с помощью MySQL Workbench. Мне нужно создать таблицу с атрибутом под названием «город». Этим атрибутом может быть только Сидней, Брисбен или Мельбурн, и он должен иметь ограничение, гарантирующее, что он не имеет другого значения при вставке данных. Как мне это сделать?

CREATE TABLE Warehouse (
    warehouseNumber int NOT NULL,
    warehouseName varchar(255),
    streetNumber varchar(255),
    streetName varchar(255),
    city varchar(255),
    suburb varchar(255),
    state varchar(255),
    postcode varchar(255),
    warehouseHeadName varchar(255),
    numberEmployees int,

    PRIMARY KEY (warehouseNumber)
);

ENUM может удовлетворить это требование. Как называется стол?

Strawberry 06.10.2018 10:23

Стол называется Склад

sharkyxy 06.10.2018 10:25

Эм, но там нет столбца с названием города

Strawberry 06.10.2018 10:27

Извините, это называется "город", сценарий создания таблицы, который я опубликовал, должен иметь ограничение

sharkyxy 06.10.2018 10:28

Отлично, теперь у вас есть ответ (с учетом ограничений, описанных в руководстве)

Strawberry 06.10.2018 10:32

И вообще, что не так с Ньюкаслом?

Strawberry 06.10.2018 10:34

Нет, на самом деле я не получил никакого ответа на свой вопрос, как мне создать ограничение проверки, чтобы убедиться, что данные для «города» - это Сидней, Брисбен или Мельбурн, а не какой-либо другой город? В Ньюкасле нет ничего плохого, пользователь должен быть ограничен выбором трех городов.

sharkyxy 06.10.2018 10:35

Требуется ли теперь ПРОВЕРИТЬ ОГРАНИЧЕНИЕ? Если да, создайте отдельную таблицу городов только с этими тремя значениями.

Strawberry 06.10.2018 10:38

Ограничение CHECK не работает в MySQL. Вы можете использовать тип данных Enum. Или создайте отдельную таблицу Cities (id, City) и сделайте City как FK между двумя таблицами.

Madhur Bhaiya 06.10.2018 10:46

Спасибо, Мадхур, мне нужно использовать тип данных Enum вместо varchar.

sharkyxy 06.10.2018 10:56

Гм, вот что я сказал.

Strawberry 06.10.2018 11:04

Я только что понял, что вы упомянули это в своем первом комментарии, моя ошибка, спасибо за помощь @ Strawberry

sharkyxy 06.10.2018 12:14
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
12
41
0

Другие вопросы по теме