MySQL でタイムスタンプを自動的に記録する
タイムスタンプの自動記録は、データベース内のレコードを維持する際の一般的な要件です。この記事は、新しいレコードの作成時にタイムスタンプを自動的に保存し、以降の更新時にタイムスタンプが変更されないようにするように MySQL を構成する方法という具体的な問題に対処することを目的としています。
ユーザーが試みた最初のアプローチには、次の使用が含まれていました。デフォルト値として current_timestamp を持つタイムスタンプ データ型。ただし、この方法では、レコードが変更されるたびにタイムスタンプが更新され、望ましい動作ではありませんでした。
解決策は、DEFAULT 制約を使用して、新しい時刻が変更された場合にのみタイムスタンプを現在時刻に設定することです。レコードが挿入されます。その方法は次のとおりです:
新しいテーブルの場合:
テーブルの作成時に、次の構文を含めます:
CREATE TABLE ... your_date_column DATETIME DEFAULT CURRENT_TIMESTAMP ...
既存のテーブルの場合:
テーブルがすでに存在する場合は、ALTER TABLE ステートメントを使用します:
ALTER TABLE your_table ALTER COLUMN date_column SET DEFAULT CURRENT_TIMESTAMP
この構成では、指定された列は現在のタイムスタンプを自動的に受け取ります。
date_column フィールドを空のままにするとデフォルト値 (現在のタイムスタンプ) の使用がトリガーされ、NULL または DEFAULT を指定するとデフォルトの制約も確実に使用されることに注意してください。ただし、このアプローチが効果的に機能するには、列が NULL 可能である必要があります。
以上が質疑応答形式を念頭に置いて、タイトルのオプションをいくつか示します。 **の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。