私はいつも、なぜ 始める現在のデータベースのタイムゾーンを表示する mysql> "%time_zone%"のような変数を表示します。 +------------------+--------+ | 変数名 | 値 | +------------------+--------+ | システムタイムゾーン | CST | | タイムゾーン | +08:00 | +------------------+--------+ セット2列(0.30秒) テーブル構造を表示 mysql> desc timestamp_test; +--------------+-----------+------+-----+---------+----------------+ | フィールド | タイプ | Null | キー | デフォルト | 追加 | +--------------+-----------+------+-----+---------+----------------+ | id | int | NO | PRI | NULL | auto_increment | | created_time | datetime | YES | | NULL | | | created_at | タイムスタンプ | YES | | NULL | | +--------------+-----------+------+-----+---------+----------------+ 3 列セット (0.26 秒) データの挿入 mysql> timestamp_test(created_time, created_at) に値('2020-12-09 08:00:00', '2020-12-09 08:00:00') を挿入します。 クエリは正常、1 行が影響を受けました (0.22 秒) mysql> timestamp_test から * を選択します。 +----+---------------------+---------------------+ | id | 作成日時 | 作成日時 | +----+---------------------+---------------------+ | 1 | 2020-12-09 08:00:00 | 2020-12-09 08:00:00 | +----+---------------------+---------------------+ セット内の1行(0.06秒) 今回は正しいようなので、タイムゾーンを変更して再度データを挿入してみます。 mysql> タイムゾーンを "+00:00" に設定します。 クエリは正常、影響を受けた行は 0 行 (0.03 秒) mysql> timestamp_test(created_time, created_at) に値('2020-12-09 08:00:00', '2020-12-09 08:00:00') を挿入します。 クエリは正常、1 行が影響を受けました (0.03 秒) mysql> タイムゾーンを "+08:00" に設定します。 クエリは正常、影響を受けた行は 0 行 (0.04 秒) もう一度データを確認してください。挿入された 2 つの mysql> timestamp_test から * を選択します。 +----+---------------------+---------------------+ | id | 作成日時 | 作成日時 | +----+---------------------+---------------------+ | 1 | 2020-12-09 08:00:00 | 2020-12-09 08:00:00 | | 2 | 2020-12-09 08:00:00 | 2020-12-09 16:00:00 | +----+---------------------+---------------------+ セットに2行(0.06秒) 実際に保存されたタイムスタンプを見てみましょう。次に、タイムゾーンを変更すると、フィールドの時間は変更されていますが、元のタイムスタンプのデータは変更されていないことがわかります。 mysql> timestamp_test から unix_timestamp(created_at) を * として選択します。 +----+---------------------+---------------------+----------------------------+ | id | created_time | created_at | unix_timestamp(created_at) | +----+---------------------+---------------------+----------------------------+ | 1 | 2020-12-09 08:00:00 | 2020-12-09 08:00:00 | 1607472000 | | 2 | 2020-12-09 08:00:00 | 2020-12-09 16:00:00 | 1607500800 | +----+---------------------+---------------------+----------------------------+ セットに2行(0.06秒) mysql> タイムゾーンを "+00:00" に設定します。 クエリは正常、影響を受けた行は 0 行 (0.09 秒) mysql> "%time_zone%"のような変数を表示します。 +------------------+--------+ | 変数名 | 値 | +------------------+--------+ | システムタイムゾーン | CST | | タイムゾーン | +00:00 | +------------------+--------+ セットに2行(0.08秒) mysql> timestamp_test から unix_timestamp(created_at) を * として選択します。 +----+---------------------+---------------------+----------------------------+ | id | created_time | created_at | unix_timestamp(created_at) | +----+---------------------+---------------------+----------------------------+ | 1 | 2020-12-09 08:00:00 | 2020-12-09 00:00:00 | 1607472000 | | 2 | 2020-12-09 08:00:00 | 2020-12-09 08:00:00 | 1607500800 | +----+---------------------+---------------------+----------------------------+ セット2行(0.18秒)
上記は、MySQL タイムスタンプがタイムゾーンの問題を無視できる理由の詳細です。タイムゾーンを無視する MySQL タイムスタンプの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: HTML Webページの例を使用してヘッドエリアコードの意味を説明する
>>: Dockerはコンテナに入るためにnsenterツールを使用する
nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...
タイトルを左に、日付を右に揃えたいのですが、日付の範囲に float:right を直接追加すると、...
1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...
MariaDB データベース管理システムは MySQL のブランチであり、主にオープンソース コミュ...
目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...
目次SSL証明書の作成1. 秘密鍵を生成する2. 証明書要求ファイルを生成する3. CRT証明書ファ...
序文モバイル端末の開発の過程で、モバイル端末のディスプレイはデスクトップ端末のディスプレイとは一般的...
1. Redisイメージを取得するdocker pull redis 2. それぞれポート6379、...
MySQL 5.7 以降では、多くのセキュリティ更新が追加されました。旧バージョンのユーザーは慣れて...
<br />原文: http://uicom.net/blog/?p=762 Faceb...
目次序文記述子getとsetの詳細な説明オブジェクトの属性の乗っ取りオブジェクトのすべてのプロパティ...
この記事の例では、カスタムドロップダウンボックスを実装するためのjsの具体的なコードを参考までに共有...
ウェブサイトのデザインを編集または変更する必要がある場合、CSS が重要な役割を果たします。 CSS...
Docker Compose は、複雑なアプリケーションを定義および実行するための Docker ツ...
成果を達成する実装コードhtml <base href="https://s3-us...