6

いくつかの日付を持つ MySQL テーブルがあります。そのうちの 1 つに現在の時刻と等しいデフォルト値が必要です。「Sequel Pro」を使用してデータベースを構築しています。次に、「now()」(および「GETDATE( )') がデフォルト値ですが、機能しません。

Sequel PRO で「デフォルト値を NOW()」に設定する方法を教えてください。

エラー:

フィールド「DataDoPedido」を変更しようとしたときにエラーが発生しました

ALTER TABLE ReservaCHANGE DataDoPedido DataDoPedidoDATE NOT NULL DEFAULT 'now()'

MySQL は次のように述べています:「DataDoPedido」のデフォルト値が無効です

ありがとう。

4

1 に答える 1

10

MySQL の場合DEFAULT、列に指定する は定数でなければなりません。関数からの戻りであってはなりません。これに対する 1 つの例外はTIMESTAMPデータ型で、DEFAULT CURRENT_TIMESTAMP.

DATE列を初期化する必要がある場合の回避策の 1 つは、BEFORE INSERT ONトリガーを作成することです。

于 2013-11-24T03:55:22.357 に答える