Создайте новую таблицу в mySQL с указанными c параметрами - PullRequest
1 голос
/ 09 апреля 2020

Я только начал изучать mySQL и мне было интересно, каков был запрос по этому предмету:

task table
•task_id (mandatory not null)
•title (mandatory not null)
•begin (optional value when creating a task, current date by default)
•end (optional value when creating a task, empty by default)
•status (not started by default /in progress/done)

Я попробовал это сейчас:

CREATE TABLE task (
    -> task_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> title VARCHAR(50) NOT NULL,
    -> begin ???,
    ->end ???,
    ->status (I guess I need an ENUM)

Спасибо за ваша помощь.

1 Ответ

0 голосов
/ 09 апреля 2020

Да, вы почти у цели.

begin должно быть определено как DATE, но CURRENT_DATE работает только в MySQL 8

Статус должен быть определен как ENUM

Вы должны добавить к task_id ПЕРВИЧНЫЙ КЛЮЧ, иначе MySQL не нравится

CREATE TABLE task (
     task_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
     title VARCHAR(50) NOT NULL,
    begin DATE DEFAULT (CURRENT_DATE),
    end DATE DEFAULT NULL,
    Status  ENUM('not started', 'in progress', 'done') DEFAULT 'not started'    
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...