mysqlは時間を自動的に追加し、時間を自動的に追加および更新する操作を実装します

mysqlは時間を自動的に追加し、時間を自動的に追加および更新する操作を実装します

時間フィールドは、データベースの使用時によく使用されます。よく使われるのは作成時間と更新時間です。

しかし、使用する際には、作成時に作成時刻が現在の時刻に自動的に設定され、更新時に更新時刻が現在の時刻に自動的に更新されるようにしたい。

テーブル スタの作成

テーブル `stu` を作成します (
'id' int NOT NULL AUTO_INCREMENT、
'createTime' タイムスタンプ DEFAULT CURRENT_TIMESTAMP COMMENT '作成時刻',
'moditiyTime' タイムスタンプ DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
主キー ('id'));

作成時に現在の時刻を設定する

デフォルトのCURRENT_TIMESTAMP

更新するときは、更新時間を現在の時刻に設定してください

更新時のデフォルトの CURRENT_TIMESTAMP CURRENT_TIMESTAMP

補足: MySQL はフィールドにデフォルトの時間を追加します (時間を挿入)

適用シナリオ:

1. データテーブルでは、各データがいつ作成されたかを記録するために、アプリケーションがそれを具体的に記録する必要はなく、データデータベースが現在の時刻を取得し、作成時刻を自動的に記録します。

2. データベースでは、各データがいつ変更されたかを記録するために、アプリケーションがそれを具体的に記録する必要はなく、データ データベースが現在の時刻を取得し、変更時刻を自動的に記録します。

実装:

1. フィールドタイプをTIMESTAMPに設定する

2. デフォルト値をCURRENT_TIMESTAMPに設定する

アプリケーション例:

1. MySQLスクリプト実装のユースケース

–CreateTimeを追加して、デフォルトの時間CURRENT_TIMESTAMPを設定します。

ALTER TABLE テーブル名
ADD COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '作成時刻';

–CreateTimeを変更してデフォルトの時間をCURRENT_TIMESTAMPに設定します

ALTER TABLE テーブル名
MODIFY COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '作成時刻';

– UpdateTimeを追加 デフォルトの時間をCURRENT_TIMESTAMPに設定 更新時間をON UPDATE CURRENT_TIMESTAMPに設定

ALTER TABLE テーブル名
ADD COLUMN UpdateTime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '作成時間';

– UpdateTimeを変更し、デフォルトの時間をCURRENT_TIMESTAMPに設定し、更新時間をON UPDATE CURRENT_TIMESTAMPに設定します。

ALTER TABLE テーブル名
MODIFY COLUMN UpdateTime タイムスタンプ NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '作成時間';

2. MySQLツールの設定

MySQL はデータベースの時間の一貫性を自動的に管理および維持します。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • MySQL タイムスタンプ自動更新タイムシェアリング
  • MySQLデータベースは作成時間と更新時間を自動的に追加します

<<:  tomcat デプロイメント プロジェクトの実装と IDEA との統合

>>:  HTML ページジャンプコード

推薦する

Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

目次1. 概要2. nginx.conf 1) 設定ファイルの場所2) ワーカープロセス3) イベン...

MySQLのパフォーマンスが突然低下する理由

場合によっては、SQL ステートメントが通常どおり、非常に速く実行される状況に遭遇することがあります...

ES6拡張演算子の理解と使用シナリオ

目次1. 適用メソッドを置き換え、関数を呼び出すときにパラメータを処理する2. 残りパラメータ(残り...

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

この記事では、MySQL 8.0.15のインストールと設定方法を参考までに紹介します。具体的な内容は...

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

Ubuntu 18.04 で MySQL のインストール時にパスワードが要求されない場合の解決方法

Ubuntu 1804 への MySQL 5.7 のインストールについて詳しく紹介します。 MySQ...

Vue+SpringBoot のフロントエンドとバックエンドの分離におけるクロスドメインの問題

フロントエンドとバックエンドを分離した開発では、フロントエンドがバックエンドの API を呼び出して...

CSS における px、rem、em、vh、vw の違いを簡単に分析します

絶対長さピクセルpx はピクセル値であり、メートルやセンチメートルのような固定の長さです。相対的な長...

LinuxシステムにISOファイルをインストールする方法

Linux システムで iso ファイルをインストールするにはどうすればいいですか?インストール手順...

Linux 占有ポートの強制解放と Linux ファイアウォールのポート開放方法の詳しい説明

nginx、mysql、tomcat などのサービスをインストールするときに、使用する必要があるポー...

nginx.conf のルートディレクトリ設定の詳細な説明

nginx.conf を構成するときには常に何らかの問題が発生します。ここでは、よくある問題とその解...

CSS3 での 2D および 3D 変換の実装

CSS3 は、要素の 2D 平面変換と視覚的な 3D 空間変換を実装します。2D 変換はより頻繁に使...

WeChatアプレットキャンバスが署名機能を実装

WeChatアプレットプロジェクトでは、開発モジュールに手書き署名機能が含まれ、WeChatアプレッ...

MySQLスレーブライブラリの復元の実践記録

状況の説明:今日、MySQL データベースのスレーブ ノード ホストにログインしたところ、/var/...

W3C チュートリアル (3): W3C HTML アクティビティ

HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...