ホームページ > データベース > mysql チュートリアル > MySQL テーブルには CURRENT_TIMESTAMP を持つ複数の TIMESTAMP カラムを持つことができますか?

MySQL テーブルには CURRENT_TIMESTAMP を持つ複数の TIMESTAMP カラムを持つことができますか?

Patricia Arquette
リリース: 2024-11-30 08:35:11
オリジナル
125 人が閲覧しました

Can MySQL Tables Have Multiple TIMESTAMP Columns with CURRENT_TIMESTAMP?

DEFAULT 句または ON UPDATE 句の CURRENT_TIMESTAMP では TIMESTAMP カラムを 1 つだけ許可

MySQL の過去のコード制限により、テーブルに含まれる TIMESTAMP カラムは 1 つだけと制限されていました。 DEFAULT または ON の CURRENT_TIMESTAMP UPDATE句。ただし、この制限は MySQL の最近のバージョンでは解除されました。

レガシー エラー:

次のテーブル定義を考慮してください:

CREATE TABLE `foo` (
  `ProductID` INT(10) UNSIGNED NOT NULL,
  `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
ログイン後にコピー
ログイン後にコピー

このテーブルを作成しようとすると、次のような結果になります。エラー:

Error Code : 1293
Incorrect table definition; there can
be only one TIMESTAMP column with
CURRENT_TIMESTAMP in DEFAULT or ON
UPDATE clause
ログイン後にコピー

MySQL 5.6.5 以降の解決策:

MySQL 5.6.5 以降、この制限は削除されました。すべての TIMESTAMP または DATETIME カラムに、DEFAULT CURRENT_TIMESTAMP 句と ON UPDATE CURRENT_TIMESTAMP 句の任意の組み合わせを含めることができるようになりました。

MySQL 5.6.5 リリース ノートによると、

Previously, at most one TIMESTAMP column per table could be
automatically initialized or updated to the current date and time.
This restriction has been lifted. Any TIMESTAMP column definition can
have any combination of DEFAULT CURRENT_TIMESTAMP and ON UPDATE
CURRENT_TIMESTAMP clauses.
ログイン後にコピー

したがって、提供されるテーブル定義は従来のエラーで作成できるようになりました成功しました:

CREATE TABLE `foo` (
  `ProductID` INT(10) UNSIGNED NOT NULL,
  `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
ログイン後にコピー
ログイン後にコピー

以上がMySQL テーブルには CURRENT_TIMESTAMP を持つ複数の TIMESTAMP カラムを持つことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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