This question already has answers here:
CURRENT_DATE/CURDATE() not working as default DATE value
(6个答案)
5年前关闭。
我需要一个DATE列以默认为当前时间戳
我需要像2014-11-27
mysql不接受以上内容,因为TODAY()是未知的。 DATE(),DATE,CURDATE()和CURDATE也无效
(6个答案)
5年前关闭。
我需要一个DATE列以默认为当前时间戳
我需要像2014-11-27
CHANGE COLUMN `date` `date` DATE NULL DEFAULT TODAY()
mysql不接受以上内容,因为TODAY()是未知的。 DATE(),DATE,CURDATE()和CURDATE也无效
最佳答案
在这种情况下,您需要使用TRIGGER,DEFAULT子句只能处理常量值:
DELIMITER //
CREATE TRIGGER today BEFORE INSERT ON table
FOR EACH ROW
BEGIN
IF NEW.`date` IS NULL THEN
SET NEW.`date` = NOW();
END IF;
END;
//
DELIMITER ;
关于mysql - 如何将DATE列默认为今天的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27172235/
10-16 14:46