3

MySQLの日付/時刻レコードでINTを使用する必要があるため、これらのフィールドのデフォルトとして0またはNULLを使用する方がよいかどうかを判断しようとしています。移行しており、データは0000-00-00 00:00:00、Unixタイムスタンプ、0、NULL、falseなどとして受信されるため、PHPのstrtotime()とdate()を使用してすべてを変換しています。関数ですが、挿入時に奇妙な結果が得られます。

最終的にはPHPで使用できるものになってしまう可能性がありますが、事後にMySQLのデフォルトとして使用する方がよいかどうかはわかりません。

4

3 に答える 3

7

0値です。NULL価値の欠如です。

を使用しNULLます。

于 2013-01-28T21:26:04.390 に答える
1

MySQL はこのコンテキストで int と null を比較しないため、NULL を使用すると日付または int を「これよりも小さい」として選択できないことがわかりました。それらをデフォルトとして 0 に設定すると、それらが選択に表示されました。これは私たちが望んでいたことです。これが将来どのような問題を引き起こすかはわかりませんが(別の解決策を見つける必要があるかもしれません)、今のところ、必要なデータが得られます.

于 2013-02-17T18:02:01.450 に答える
1

値がないことを表現したい場合は、 を使用する必要がありますNull。エポック時間の 0 は、1970 年 1 月 1 日の午前 0 時です。したがって、状況の説明に基づいて、 を使用することをお勧めしNullます。

http://www.epochconverter.com/

于 2013-01-28T21:28:20.567 に答える