デフォルトの日付「0000-00-0000:00:00」またはNULL
MySQLデータベースを使用することをお勧めしますか?
計算の理由から、デフォルトの日付「0000-00-0000:00:00」を使用するのが最善です。
つまり >
、日付よりも小さい日付よりも。
また、時間通りに保管するのが最適である00:00
かNULL
、時間がわからない場合。
デフォルトの日付「0000-00-0000:00:00」またはNULL
MySQLデータベースを使用することをお勧めしますか?
計算の理由から、デフォルトの日付「0000-00-0000:00:00」を使用するのが最善です。
つまり >
、日付よりも小さい日付よりも。
また、時間通りに保管するのが最適である00:00
かNULL
、時間がわからない場合。
MySQL 5.7は0000-00-00 00:00:00
、を設定しない限り、デフォルトでデフォルト値として不許可になりますsql_mode = ''
。MySQLはNULL
デフォルト値として使用することを望んでいるようです。
は有効な日付ではないNULL
ため、使用する必要があります。moment.jsやCarbon0000-00-00 00:00:00
などのライブラリを使用して日付を管理する場合、どちらも日付の処理方法を知ってい ます。NULL
MySQL構成は常に次のように設定する必要があります。
SET sql_mode = 'NO_ZERO_DATE';
古いデータベースを処理する必要がない限り。
そうは言っても、MySQLのドキュメントによると:
MySQLでは、「0000-00-00」の「ゼロ」値を「ダミーの日付」として保存できます。これは、NULL値を使用するよりも便利な場合があり、使用するデータとインデックススペースが少なくなります。'0000-00-00'を禁止するには、NO_ZERO_DATEモードを有効にします。
Windowsを使用している場合:
ODBCはそのような値を処理できないため、Connector/ODBCを介して使用される「ゼロ」の日付または時刻の値は自動的にNULLに変換されます。
考慮すべき追加のポイントは、ゼロ日付の本当の意味は何ですか?
あなたの答えが最初のものであり、nullの日付と比較する必要がある場合を除いて、NULL
値を使用することは常に混乱を少なくします。
すべての日時操作をサポートするには、デフォルト値をNOTNULLにする必要があります。また、デフォルト値として「0000-00-0000:00:00」を使用します。