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

なぜこれがデートに効かないのか私は知らない。

デフォルトの日付をタイムスタンプなしの現在の日付にします。


1 답변


0

トリガーを使う

DELIMITER ||

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

DELIMITER ;

この答えを見るMySQL DateTimeのデフォルト値(TIMESTAMPではない)をNOW()またはCurrent_DateTImeに設定する方法?mysqlデータのt値etime-not-timestamp-to-now-or-current


  • 私はmysqlにはまったく慣れていませんが、トリガーがどこに来るのかはよくわかりません。それはテーブルの中にあるのでしょうか、それともテーブルを作成した後でしょうか。 - Pratik Mandavgade
  • トリガーをtableに割り当てる必要がある構文が表示される場合は、最初にトリガーを作成する必要があります。最初にデフォルトで日付なしでテーブルを作成し、次にtriggerを作成します。 - Judith Palacios
  • ありがとうジュディス!出来た - Pratik Mandavgade

リンクされた質問


関連する質問

最近の質問