背景:
MySQL 4.0 テーブルを作成するとき、ユーザーはよく次のような問題に遭遇します。 Created と LastUpdated の両方のタイムスタンプ列をデフォルト値の CURRENT_TIMESTAMP で定義しようとするとエラーが発生しました。これは、MySQL 4.0 のタイムスタンプ カラムのデフォルト設定により、そのようなカラムの存在が 1 つのみに制限されているためです。
質問:
ユーザーは Created タイムスタンプと LastUpdated タイムスタンプの両方を持つことができますかそれとも、トランザクションごとに LastUpdated フィールドを手動で更新する必要がありますか?
回答:
初期のバージョン:
MySQL 5.5 より前では、この制限が適用されていました。 DEFAULT CURRENT_TIMESTAMP 句または ON UPDATE CURRENT_TIMESTAMP 句を使用して定義できる TIMESTAMP 列は 1 つだけです。したがって、ユーザーはトランザクションのたびに LastUpdated フィールドを手動で更新する必要がありました。
MySQL 5.5:
MySQL 5.5 のドキュメントでは、LastUpdated フィールドをまだ使用できないことが明らかにされています。
MySQL 5.6.5 以降:
ただし、MySQL 5.6 では大幅な変更が導入されました。 5.自動初期化または更新を伴う複数の TIMESTAMP 列の制限が解除されました。そのため、MySQL バージョン 5.6.5 以降では、ユーザーは Created と LastUpdated の両方のタイムスタンプ列を必要なデフォルト値で定義できます。これにより、トランザクション中に手動で更新する必要がなくなります。
以上がMySQL 4.0 テーブルには自動更新を備えた複数の TIMESTAMP カラムを持つことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。