0

以下のコードは機能していないようです。デフォルト値と将来の時間を設定しようとしています (現在の年 + 6 年)。何か案が?

ALTER TABLE users CHANGE COLUMN dpicture dpicture YEAR NULL DEFAULT 'YEAR(NOW())+6';
4

1 に答える 1

2

タイムスタンプ フィールドの場合を除き、MySQL テーブルのデフォルトを動的にすることはできません。また、mysql には「年」フィールド タイプなどがないため、alter クエリは 2 つのレベルで間違っています。

+6 年を設定するには、おそらく after-insert/update トリガーを使用し、適切な日付または int フィールドを使用する必要があります。

于 2013-05-24T14:35:54.923 に答える