2017-03-06 94 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!有效 –