2014-12-22 6 views
1

Можем ли мы использовать функцию dateadd при создании таблицы?Добавить дату в качестве значения по умолчанию

CREATE TABLE test(
id INTEGER(16) NOT NULL AUTO_INCREMENT, 
CONSTRAINT PRIMARY KEY (id), 
controlstarttime DATETIME NOT NULL DEFAULT NOW(), 
timeout DATETIME NOT NULL DEFAULT DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 10 SECOND) 
) 

Я попытался выполнить запрос и дал мне синтаксическую ошибку. Я знаю, что это можно сделать с помощью триггеров. Но мне интересно, почему этот запрос не работает. Есть идеи?

ответ

1

Я думаю, что его невозможно создать интервал по умолчанию в MySQL, но вы можете создать триггер

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 SECOND); 
    END IF; 
END; 
Смежные вопросы