Mroonga:DATE列にNULLが登録できない

MroongaのDATE列項目にNULLを登録しようとするが"1970-01-01"になってしまう。


環境

Windows Server 2016 バージョン 1607 (14393.4283)
MariaDB 10.5.8 with Mroonga 11.01 winx64

原因

以下に書いてあった。
https://mroonga.org/ja/docs/reference/limitations.html

5.6.3. カラムの値に関する制限事項
ストレージモードにおいて、カラムの値には制限があります。

MroongaストレージエンジンはNULL値を自動的に補正します。

例えば、 DATE 型や DATETIME 型に指定されたNULL値はMroongaストレージエンジンが日や月の値として0を1へと自動的に補正します。

つまり、0月は1月へ、0日は1日として扱います。

そして、NULL値はUNIX時間の0秒 (1970-01-01)として扱います。

このような自動変換は DATE 型や DATETIME 型に限定されません。

NULL値はカラムのデフォルト値へと変換されます。多くの場合、文字列型であれば空文字列へ、数値型であれば0へと変換されます。

0 件のコメント:

その他の記事