Добавление вычисляемого столбца даты в набор данных MySQL - PullRequest
1 голос
/ 31 января 2020

У меня есть столбец dateTime, который состоит из дат в формате «ММ-ДД-ГГГГ, чч-мм-сс», и мне нужно создать столбец STORED в той же таблице, чтобы избавиться от элемента времени. Я пытался:

Таблица ALTER TABLE ADD COLUMN startOfDay AS (дата (dateTime)) STORED;

, но это дает неправильную синтаксическую ошибку. Как мне заставить это работать? Я думаю, что ошибка связана с частью AS.

1 Ответ

2 голосов
/ 31 января 2020

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

Во-вторых, для использования столбцов STORED вам нужен MySQL 5.7 экземпляр или выше. На данный момент у меня работает только 5.6 экземпляр, поэтому я не могу проверить запрос. Но, глядя на документацию MySQL, я бы предложил следующий синтаксис запроса:

ALTER TABLE <table-name> ADD COLUMN <column-name> DATE GENERATED ALWAYS AS (DATE_FORMAT(<name-of-datetime-column>, `%Y-%m-%d`)) STORED COMMENT '<description>';

Просто замените заполнители именами, которые у вас есть. Чтобы быть уверенным и узнать, как все работает, всегда проверяйте справочное руководство MySQL по этому вопросу.

См .: https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...