kytomtom
@kytomtom

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

MySQL8.0の`Incorrect datetime value: ''`のErrorをWarningに落としたい

解決したいこと

VB.net+MySQL.Data.dllでMySQL8.0サーバーに対してSQLを実行しています。

DATETIME型に対してローカル変数へ空文字列と比較した際に、
次のエラーが発生するようになりました。
Incorrect datetime value: ''

MySQL5.7のようにれをErrorからWarningにレベルを落とすことはできないでしょうか。

試したこと

  • sql_modeからSTRICT_TRANS_TABLESを外しても同様の結果でした
  • VB.netからローカル変数へ代入する値をNothingにする事で回避が可能なことは確認できています
    • ただ、プログラムの修正箇所が多いため可能であればDBの設定変更で済ませたいと考えています

よろしくお願いいたします。

  • 2020-11-10追記

    引き続き調査していたところ、
    どうやらMySQL5.7の挙動(正しくは8.0.15までの挙動だったようですが)
    はバグであり、8.0.16で修正されたようです。

    MySQL 8.0.15 の前後で変わった文字列と DATE 型の比較について
    https://rabbitfoot141.hatenablog.com/entry/2020/07/01/215728

    元々の挙動がバグであったということなので諦めてプログラムを修正することとし、
    質問はクローズいたします。

    ありがとうございました。

0

No Answers yet.

Your answer might help someone💌