Можно ли добавить к времени по умолчанию NOW (), 10 минут?
Я пробовал что-то подобное:
CREATE TABLE `table1` ( `date` DATETIME NOT NULL DEFAULT DATE_ADD(NOW(), INTERVAL 10 MINUTE) );
Однако, это не работает.
Однако для этого можно использовать триггер вставки.Установите значение по умолчанию для столбца 'date' в null и используйте
CREATE TRIGGER settime BEFORE INSERT on table1 FOR EACH ROW BEGIN IF new.`date` is null THEN SET new.`date` = DATE_ADD(NOW(), INTERVAL 10 MINUTE); END IF; END;
Я не думаю, что вы можете сделать это.
Документация MySQL утверждает, что:
Предложение значения DEFAULT в спецификации типа данных указывает значение по умолчанию для столбца.За одним исключением, значение по умолчанию должно быть константой;это не может быть функция или выражение.Это означает, например, что вы не можете установить по умолчанию для столбца даты значение функции, такой как NOW () или CURRENT_DATE.Исключением является то, что вы можете указать CURRENT_TIMESTAMP в качестве значения по умолчанию для столбца TIMESTAMP