ホームページ >データベース >mysql チュートリアル >MySQL で DATETIME カラムのデフォルト値を設定するにはどうすればよいですか?

MySQL で DATETIME カラムのデフォルト値を設定するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-01 12:46:11505ブラウズ

How Do I Set Default Values for DATETIME Columns in MySQL?

日時列のデフォルト値の設定

指定されたテーブルでは、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。