只有当前日期
只有当前日期
在MySQL中,我希望默认使用当前日期,而不是时间。
CREATE TABLE Order_T (OrderID NUMERIC(11) NOT NULL, OrderDate DATE DEFAULT NOW(), CustomerID NUMERIC(11), CONSTRAINT Order_PK PRIMARY KEY (OrderID), CONSTRAINT Order_FK FOREIGN KEY (CustomerID) REFERENCES Customer_T (CustomerID));
我不知道为什么这个代码对于日期不起作用。
我希望默认日期是当前日期,不带时间戳。
从上面的内容可以看出,问题的原因是用户想要在MySQL中设置默认值为当前日期,但是不确定应该在创建表之前还是之后创建触发器。为了解决这个问题,需要先创建表,然后再创建触发器。
解决方法如下:
1. 首先,在创建表之前先定义一个触发器,将默认日期设置为当前日期。
DELIMITER || CREATE TRIGGER curr_date BEFORE INSERT ON Order_T FOR EACH ROW BEGIN SET new.date = NOW(); END || DELIMITER ;
2. 然后,创建表时不设置日期的默认值。
3. 最后,将触发器与表关联起来。
这样,当向表中插入新数据时,触发器会自动将日期设置为当前日期。
参考链接:How to set default value of MySQL DateTime ( not TIMESTAMP ) to NOW() or Current_DateTIme?