MySQL の current_timestamp の落とし穴とその解決策を共有する

MySQL の current_timestamp の落とし穴とその解決策を共有する

MySQL の current_timestamp の落とし穴

エラーを報告する

テーブル定義が正しくありません。DEFAULT または ON UPDATE 句で CURRENT_TIMESTAMP を持つ TIMESTAMP 列は 1 つしか存在できません。

ネット上の回答は基本的に以下の通りだが、具体的な解決策はない

この解決策の理由は、タイムスタンプをupdatecurrent_timestampに設定すると、他のタイムスタンプフィールドは明示的にデフォルト値を設定する必要があるためです。

しかし、タイムスタンプ フィールドが 2 つあり、最初のフィールドのみを current_timestamp に設定し、2 番目のフィールドにデフォルト値がない場合、MySQL はテーブルを正常に作成できますが、その逆の場合は作成できません...

私の解決策

現在の下位バージョンの MySQL をアンインストールし、MySQL バージョン 5.6 以降をインストールします。MySQL バージョン 5.7 は比較的安定しているため、推奨されます。

mysql5.5.23 current_timestamp の問題

今日は、作成時間と更新時間の 2 つのフィールドを持つ新しいテーブルを作成しました。デフォルト値は両方とも現在の時刻です。SQL を実行するとエラーが発生します。

エラー 1293 (HY000): テーブル定義が正しくありません。DEFAULT または ON UPDATE 句で CURRENT_TIMESTAMP を持つ TIMESTAMP 列は 1 つしか存在できません。

この SQL を他のプロジェクトで使用しましたが、問題なく動作しました。今日はなぜ正常に実行できないのでしょうか? SQLに構文エラーがないことを確認した後、オンラインで情報を確認しました。 MySQL 5.5 では、CURRENT_TIMESTAMP と ON UPDATE CURRENT_TIMESTAMP を使用するテーブル内の 1 つの時間フィールドのみがサポートされることが判明しました。しかし、5.6 では複数をサポートします。

元の説明

現在のタイムスタンプを 1 つの列のデフォルト値とし、別の列の自動更新値にすることはできません。

解決

デフォルトの作成時間を削除する

ステータスコマンドを使用してMySQLのバージョン番号を確認する

這里寫圖片描述

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CURRENT_TIMESTAMP を使用した MySQL エラー TIMESTAMP 列の解決方法
  • 例によるMySql CURRENT_TIMESTAMP関数の分析
  • MySQL における TIMESTAMP の使用法の詳細な説明

<<:  ページにスクロールバーが表示されたときに、スクロールバーがページ幅に影響しないようにする方法

>>:  CSSアニメーションとSVGを組み合わせてエネルギーの流れの効果を作成する

推薦する

画像の下部の空白部分の問題を解決する

最近のプロジェクトに取り組んでいるとき、下の図に示すように、画像を参照すると常に下部に空白スペースが...

Dockerはプライベートライブラリイメージを完全に削除します

まず、インターネット上の一般的な慣行を見てみましょうデフォルトでは、プライベート ライブラリはイメー...

ネストされた HTML ページの使用例 (フレームセットの使用)

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

シンプルな加算計算機の JavaScript 実装

この記事では、参考までに、加算計算機を実装するためのJavaScriptの具体的なコードを紹介します...

MySQL がエラーを報告: ファイルが見つかりません: './mysql/plugin.frm' 解決策

問題を見つける最近、仕事中に問題が見つかりました。問題は、MySQL ディスクがいっぱいだったことで...

メタタグの詳しい説明(メタタグの役割)

個人のウェブサイトがどんなに素晴らしいものであっても、サイバースペースの広大な海に浮かぶ小さなボート...

フォームデータを取得するための Node.js メソッドの 3 つの例

序文Nodejs はサーバーサイド言語です。開発中、登録やログインなどでは、判断のためにフォームを通...

javascript:void(0) の意味と使用例

voidキーワードの紹介まず、void キーワードは JavaScript で非常に重要なキーワード...

MySQL でレプリケーション フィルターを動的に変更する方法

MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...

複数の値を返す MySQL ストアド プロシージャ メソッドの例

この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...

MySql 学習ノートにおけるトランザクション分離レベルの詳細な説明

背景トランザクションについて話すとき、誰もがそれに精通している必要があります。MySQL データベー...

ウェブサイトのデザイン体験のための7つの異なるカラースキーム

ウェブサイト構築におけるカラーマッチングは非常に特殊であり、ウェブサイトのテーマ、感情、雰囲気などの...

MySQL インストール図の概要

MySQL 5.5 のインストールと設定方法のグラフィックチュートリアルMySQL 5.5 のインス...

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...