MySQLデータベースでゼロ値を含む日付の問題について簡単に説明します

MySQLデータベースでゼロ値を含む日付の問題について簡単に説明します

デフォルトでは、MySQL は日付に 0 値を挿入することを受け入れますが、実際には日付の 0 値には意味がありません。これは、MySQL sql_mode 変数を調整することで実現できます。

@@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION' を設定します。
@@session.sql_mode を 'STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION' に設定します。

例:

ログ用のテーブルがあります

テーブル app_logs を作成します(
id int not null auto_increment 主キー、
log_tm タイムスタンプが null ではありません。
log_info varchar(64) nullではない)
エンジン=innodb、文字セット=utf8;

興味深い日付値をログテーブルに挿入する

app_logs(log_tm,log_info) に値(now(),'log_info_1') を挿入します。
app_logs(log_tm,log_info) に値('2016-12-01','log_info_2') を挿入します。

0を含む日付値をログテーブルに挿入する

app_logs(log_tm,log_info) に値('2016-12-00','log_info_2') を挿入します。
エラー 1292 (22007): 行 1 の列 'log_tm' の日付時刻値 '2016-12-00' が正しくありません

上記の記事では、MySQL データベースの日付のゼロ値の問題について簡単に説明しています。これは、編集者があなたと共有するすべてのコンテンツです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • 時間に基づいて日付をクエリするためのMySQL最適化テクニック
  • mysqlは昨日の日付、今日の日付、明日の日付、前の時間と次の時間の時刻を取得します
  • MySQL で時刻と日付の型を保存する際の選択問題を分析する
  • Java8 の LocalDate と LocalDateTime を JDBC で使用して、mysql と postgresql を操作する
  • MySQLは現在の日付と時刻を取得する関数
  • MySQL で 2 つの日付間のレコードをクエリする方法
  • MySQLの日付文字列タイムスタンプ変換の詳細な説明
  • 現在の日付と形式を取得するためのmysqlの詳細な説明
  • MySQL の日付フォーマットの詳細な説明
  • MySQL で 2 つの日付間の連続ログイン日数の最大数を照会する方法
  • MySQLの日付型とint型を変換する方法
  • mysqlレコードは日付フィールドに従って逆順に出力されます
  • MySQL でよく使用される日付と時刻/数値関数の詳細な説明 (必読)
  • 中国語の文字、日付、数字を判断するためのMySql固有の関数
  • MySQL で日付とタイムスタンプを変換するための関数とメソッド
  • Mysqlで現在の日付の数日前の日付を取得する方法
  • MySQL の現在の日付取得関数と時刻フォーマットパラメータの詳細な説明
  • MySQL の日付関数と日付変換およびフォーマット関数

<<:  フォーム検証機能を実装するためのネイティブ js

>>:  nginx 設定の場所の概要の場所の通常の書き込みと書き換えルールの書き込み

推薦する

MySQL FAQ シリーズ: 一時テーブルを使用する場合

一時テーブルの概要一時テーブルとは: MySQL は中間結果セットを保存するために使用されます。一時...

携帯電話番号の真ん中の4桁を隠すMySQL SQL文の方法

最初のクエリ テーブル構造 (sys_users): sys_users から * を選択します。最...

mysql と oracle のデフォルトのトランザクション分離レベルの説明

1. トランザクション特性(ACID) (1)原子性トランザクションに関係するプログラムによって実行...

IE6 で CSS スタイルの div または li の背景のタイリングと境界の破損を解決する方法

IE6 で CSS スタイルの div または li の背景のタイリングや境界の破壊を解決するには、...

MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?

目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...

Centos6 で 20TB を超えるディスクをパーティション分割してフォーマットするためのサンプル コード

1. サーバー環境の構成: 1. ディスクパーティションを確認します。最近、あるプロジェクト内のサー...

シンプルで簡単なJavaScript開発のためのSvelte実装原理の詳細な説明

目次デモ1フラグメントの作成スヴェルトコンポーネント状態を変更できるデモSvelte は長い間存在し...

Vue マウスホイールスクロール切り替えルーティング効果を実装する方法

ルート ルーティング コンポーネント (アプリの下のルート ルーティング コンポーネント。子コンポー...

CSS3を使用してオンラインライブ放送に似たキューアニメーションを実装する方法

以前、グループの友人が質問しました。つまり、ミニプログラムでユーザーがオンラインになったときに、ライ...

Linux での Docker のインストールと展開の例

以下の記事を読んだ後、プロジェクトをサーバーにデプロイできます。Tomcat、JDK、MySQL な...

nginx リバース プロキシでの proxy_pass の実装

フォーマットはシンプルです: proxy_pass URL; URL には、送信プロトコル (htt...

Pycharm2017はpython3.6とmysqlの接続を実現します

この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...

Ubuntu 18.04 に mysql5.7.23 をインストールするチュートリアル

この記事では、Ubuntu18.04にmysql5.7.23をインストールする具体的な方法を参考まで...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...