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

MySQL の DateTime カラムのデフォルト値として NOW() を設定するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-03 13:59:41
オリジナル
573 人が閲覧しました

How Can I Set NOW() as the Default Value for a DateTime Column in MySQL?

日時データ型のデフォルト値として NOW() を設定する

データベース テーブルを作成するとき、列のデフォルト値を次のように設定すると有益です。一貫したデータ入力を保証します。 datetime データ型の場合、多くの場合、現在の時刻をデフォルト値として使用することが望ましいです。

Existing Table Modification Challenge

MySQL では、デフォルト値 NOW を設定します。既存の日時列の () は困難な場合があります。デフォルト値を NOW() に設定しようとしたときに発生したエラー メッセージは、これが無効なデフォルト値であることを示しています。

MySQL 5.6.5 以降のソリューション

幸いなことに、MySQL 5.6.5 では DATETIME データ型が導入されており、動的なデフォルト値が可能です。テーブルの作成時にデフォルト値を NOW() に設定するには、次の構文を使用します。

CREATE TABLE users (
    registerDate DATETIME DEFAULT CURRENT_TIMESTAMP
)
ログイン後にコピー

MySQL 5.6.5 より前のソリューション

MySQL バージョンの場合5.6.5 より前では、レコード変更時に日時値を自動的に更新するには、TIMESTAMP データ型を使用する必要があります。ただし、自動更新される TIMESTAMP フィールドはテーブルごとに 1 つだけ存在できることに注意してください。

CREATE TABLE users (
    registerDate TIMESTAMP
)
ログイン後にコピー

タイムスタンプ値が UPDATE で更新されないようにするには、DEFAULT CURRENT_TIMESTAMP を TIMESTAMP フィールド定義に追加します。

CREATE TABLE users (
    registerDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
ログイン後にコピー

以上がMySQL の DateTime カラムのデフォルト値として NOW() を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート