2017-06-10 1 views

答えて

0

があった、MySQLはあなたに、この機能を与えるものではありません。 documentationで説明したように、デフォルト値をdatetimeまたはtimestampの列に割り当てることができます。

この機能が必要な場合は、基本的に3つのオプションがあります。

  1. 値を割り当てるためにトリガーを使用します。
  2. 行の挿入/更新時に明示的に値を割り当てます。
  3. 挿入をストアドプロシージャにラップし、それを使用して値を設定します。

第4の選択肢もあります。ビューを使用します。デフォルトのdatetime列を作成し、ビューを介してテーブルにアクセス:

create table v_t as 
    select . . . , date(createdAt) as createdAt_date 
    from t; 

次のかもしれないが、最新のリリースで動作します。

create table t (
    i int, 
    dt datetime default current_timestamp, 
    d date as (date(dt)) 
); 

つまり、デフォルトのオフに生成された列を作成します日付時刻。ここにはexampleがあります。

関連する問題