2017-03-06 126 views
-1

在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

使用触发器,看到这个答案[http://stackoverflow.com/questions/6283821/how-to-set-default-value-of-mysql-datetime-not-timestamp-to-now-or-current](http:/ /stackoverflow.com/questions/6283821/how-to-set-default-value-of-mysql-datetime-not-timestamp-to-now-or-current) –

+1

MySQL?你确定!?? – Strawberry

+0

[您如何为MySQL Datetime列设置默认值?](http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a- mysql-datetime-column) –

回答

0

使用触发器

DELIMITER || 

CREATE TRIGGER curr_date BEFORE INSERT ON Order_T FOR EACH ROW 
BEGIN 
    SET new.date = NOW(); 
END || 

DELIMITER ; 

看到这个答案How to set default value of MySQL DateTime (not TIMESTAMP) to NOW() or Current_DateTIme?吨-价值的MySQL的-DAT ETIME而不是时间戳到现在已经或电流

+0

我对mysql很新,我不太确定触发器会在哪里。它会在表格内还是在创建表格之后? –

+0

您需要先创建触发器,因为如果您看到需要将触发器设置为表格的语法,请先在日期中创建没有默认值的表格,然后创建触发器 –

+0

谢谢Judith!有效 –