日時列のデフォルト値の設定
指定されたテーブルでは、registerDate と lastVisitDate の 2 つの列のデフォルト値を調整する必要があります。目的は、registerDate を現在時刻に設定し、lastVisitDate をデフォルトの NULL ではなく特定の値に設定することです。
Modify Table を使用する
提供された ALTER TABLE ステートメント、デフォルト値を変更しようとすると、エラーが発生します。これは、MySQL 5.6.5 より前では、DEFAULT キーワードを使用して datetime カラムのデフォルト値を設定できなかったためです。
5.6.5 より前の解決策
の場合MySQL の 5.6.5 より前のバージョンでは、レコードの変更時に値が自動的に更新される TIMESTAMP データ型の使用を検討してください。ただし、テーブルごとに許可される自動更新 TIMESTAMP フィールドは 1 つだけです。
MySQL 5.6.5 以降のソリューション
MySQL 5.6.5 以降、DATETIME データはtype は動的なデフォルト値をサポートします。これにより、
CREATE TABLE users ( registerDate DATETIME DEFAULT CURRENT_TIMESTAMP )
lastVisitDate のデフォルト値の設定
lastVisitDate のデフォルト値を特定の値に設定するには (例: '0000-00-00 00:00:00')、次のステートメントを使用できます:
ALTER TABLE users ALTER COLUMN lastVisitDate DATETIME DEFAULT '0000-00-00 00:00:00'
これらのアプローチを利用すると、必要な要件を満たすように users テーブルの datetime 列のデフォルト値を構成できます。
以上がMySQL で DATETIME カラムのデフォルト値を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。