只有当前日期

25 浏览
0 Comments

只有当前日期

在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));

我不知道为什么这个代码对于日期不起作用。

我希望默认日期是当前日期,不带时间戳。

0
0 Comments

从上面的内容可以看出,问题的原因是用户想要在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?

0