MySQL datetime default time with interval

前端 未结 2 1216
星月不相逢
星月不相逢 2021-01-06 20:33

Is it possible to add to a default time with NOW(), 10 minutes?

I\'ve tried something like that:

CREATE TABLE `table1` (
    `date` DATETIME NOT NULL         


        
相关标签:
2条回答
  • 2021-01-06 20:47

    You could however use an insert-trigger to accomplish this. Set the default for the 'date' column to null, and use

    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;
    
    0 讨论(0)
  • 2021-01-06 20:55

    I dont think you can do this.

    The MySQL Documentation states that:

    The DEFAULT value clause in a data type specification indicates a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression. This means, for example, that you cannot set the default for a date column to be the value of a function such as NOW() or CURRENT_DATE. The exception is that you can specify CURRENT_TIMESTAMP as the default for a TIMESTAMP column

    0 讨论(0)
提交回复
热议问题