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を組み合わせてエネルギーの流れの効果を作成する

推薦する

IE6 の iframe の水平スクロール バーの解決策

状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...

よくある CSS エラーと解決策

コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

Adobe Brackets の簡単な使い方のグラフィックチュートリアル

Adobe Brackets は、HTML、CSS、JavaScript 用のオープンソースでシンプ...

line-height=height要素の高さだがテキストが垂直方向に中央揃えされない問題を解決する

まず、行の高さが要素の高さと等しい場合にテキストが垂直方向に中央揃えにならない理由を説明します。実際...

MySQL全文インデックスを使用して検索エンジンのサンプルコードの簡易版を実現する

序文全文インデックスを使用できるのは Innodb と MyISAM ストレージ エンジンのみです ...

MySQLの文字セットと検証ルールの詳細な説明

1いくつかの一般的な文字セットMySQL で最も一般的な文字セットには、ASCII 文字セット、ラテ...

js で 0ms 遅延タイマーを実装するいくつかの方法

目次キューマイクロタスク非同期/待機メッセージチャネルやっと付録ここ二日間、「タイムリーな setT...

Linux nslookup コマンドの使用方法の詳細な説明

[nslookup とは?] 】 nslookup コマンドは、Linux で非常によく使用されるネ...

JavaScriptのモジュール性を理解する方法

目次1. ブラウザのサポート2.エクスポートモジュールのエクスポート3. モジュールをインポートする...

Linux で killall コマンドを使用してプロセスを終了する 8 つの例

Linux コマンドラインには、プロセスを強制終了するためのコマンドが多数用意されています。たとえば...

ウェブレッスンプラン、初心者向けレッスンプラン

指導トピックウェブページ適用グレード高校2年生授業時間1 クラス教科書分析焦点: 静的および動的ウェ...

Linux でのファイルの編集、保存、終了の実践的な説明

Linux でファイルを編集した後、保存して終了するにはどうすればよいですか?保存して終了するコマン...

Vue の状態管理: Vuex の代わりに Pinia を使用する

目次1. ピニアとは何ですか? 2. Piniaは使いやすい3. ユーザーエクスペリエンス1. ピニ...