2017-03-06 7 views
-1

In MySQL möchte ich das aktuelle Datum als meine Standardeinstellung und nicht die Zeit.Nur aktuelles Datum

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

Ich weiß nicht, warum das für das Datum nicht funktioniert.

Ich möchte, dass das Standarddatum das aktuelle Datum ohne Zeitstempel ist.

+0

Verwendung eines Auslöser, siehe diese Antwort [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 ?? Bist du sicher!?? – Strawberry

+0

Mögliches Duplikat von [Wie legen Sie einen Standardwert für eine MySQL-Datetime-Spalte fest?] (Http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a- mysql-datetime-column) –

Antwort

0

einen Trigger verwenden

DELIMITER || 

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

DELIMITER ; 

diese Antwort sehen How to set default value of MySQL DateTime (not TIMESTAMP) to NOW() or Current_DateTIme? t-value-of-mysql-dat etime-not-Zeitstempel-to-jetzt-oder Strom

+0

Ich bin ziemlich neu in der mysql und ich bin mir nicht sicher, wo der Trigger kommen wird. Wird es in der Tabelle oder nach dem Erstellen der Tabelle sein? –

+0

Sie müssen zuerst den Trigger erstellen, denn wenn Sie die Syntax sehen, müssen Sie den Trigger auf Tabelle zuweisen, erstellen Sie zuerst die Tabelle ohne Standard in Datum, dann erstellen Sie Trigger –

+0

Danke Judith !! Es funktionierte –