MySQL по умолчанию current_timestamp + 1 год - PullRequest
0 голосов
/ 23 мая 2018

Я делаю простую таблицу с идентификатором и датой со значением по умолчанию CURRENT_TIMESTAMP, и мне любопытно, как установить дату CURRENT_TIMESTAMP + 1 год.Например, если NOW () - 2018-01-23 13:57:22, я хочу, чтобы значением по умолчанию было 2019-01-23 13:57:22.Я могу сделать это с помощью триггера или с кодом перед вставкой новой строки, но есть ли другой ярлык?

Например: Как я могу установить в качестве значения по умолчанию DATE_ADD (CURRENT_TIMESTAMP, INTERVAL 1 YEAR)

То жепроблема с этим: https://bugs.mysql.com/bug.php?id=56835

1 Ответ

0 голосов
/ 23 мая 2018

Это не может быть руководство .

Предложение значения DEFAULT в спецификации типа данных указывает значение по умолчанию для столбца.За одним исключением, значение по умолчанию должно быть константой;это не может быть функция или выражение.Это означает, например, что вы не можете установить по умолчанию для столбца даты значение функции, такой как NOW () или CURRENT_DATE.Исключением является то, что вы можете указать CURRENT_TIMESTAMP в качестве значения по умолчанию для столбцов TIMESTAMP и DATETIME.

Так что сейчас единственный способ - использовать триггер или вручную перед вставкой новой строки в таблицу.

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