「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > バージョン5.6.5の前にMySQLのタイムスタンプ列を使用してcurrent_timestampを使用することの制限は何でしたか?

バージョン5.6.5の前にMySQLのタイムスタンプ列を使用してcurrent_timestampを使用することの制限は何でしたか?

2025-02-04に公開
ブラウズ:898

What Were the Restrictions on Using CURRENT_TIMESTAMP with TIMESTAMP Columns in MySQL Before Version 5.6.5?

current_timestampがデフォルトまたはmysqlバージョンの更新条項を持つタイムスタンプ列の制限は、5.6.5より前に、5.6.5より前のmysqlバージョンで、そこにあります。デフォルトのcurrent_timestampまたは更新current_timestamp節のいずれかを備えた1つのタイムスタンプ列のみを持つようにテーブルを制限する制限でした。この制限は、2008年に最初に導入されたときにInt、Bigint、およびSmallint Integersに拡張されました。メッセージおよび関連する問題

たとえば、current_timestamp値で2つのタイムスタンプ列を定義しようとするテーブルの定義を検討してください。 `productid` int(10)符号なしではない、null、 `additdate`タイムスタンプnull default current_timestamp、 `updatedDate`タイムスタンプは、current_timestampを更新するデフォルトcurrent_timestampではありません )Engine = innodb;

この定義は次のエラーになります:

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
) ENGINE=INNODB;

を備えた1つのタイムスタンプ列のみを持つことができます。このエラーは、表の定義が前述の制限に違反していることを示しています。 &&&]制限の削除

この制限の技術的基盤にもかかわらず、MySQLチームはその不便を認識しました。その後、MySQL 5.6.5(2012年4月10日にリリース)で、制限が解除されました。現在の日付と時刻に自動的に初期化または更新することができます。この制限は解除されました。任意のタイムスタンプ列の定義は、デフォルトのcurrent_timestampの任意の組み合わせを持つことができます。さらに、これらの条項は、DateTime列の定義で使用できるようになりました。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3