12

デフォルトの日付「0000-00-0000:00:00」またはNULLMySQLデータベースを使用することをお勧めしますか?

計算の理由から、デフォルトの日付「0000-00-0000:00:00」を使用するのが最善です。

つまり >、日付よりも小さい日付よりも。

また、時間通りに保管するのが最適である00:00NULL、時間がわからない場合。

4

3 に答える 3

4

MySQL 5.7は0000-00-00 00:00:00、を設定しない限り、デフォルトでデフォルト値として不許可になりますsql_mode = ''。MySQLはNULLデフォルト値として使用することを望んでいるようです。

于 2018-09-17T21:08:46.440 に答える
3

は有効な日付ではないNULLため、使用する必要があります。moment.jsCarbon0000-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に変換されます。

考慮すべき追加のポイントは、ゼロ日付の本当の意味は何ですか?

  • '0000-00-00' <'2018-12-12'ですか?
  • 「0000-00-00」は「不明」を意味しますか?
  • 「0000-00-00」は「null」を意味しますか?

あなたの答えが最初のものであり、nullの日付と比較する必要がある場合を除いて、NULL値を使用することは常に混乱を少なくします。

于 2019-03-26T13:47:09.417 に答える
-4

すべての日時操作をサポートするには、デフォルト値をNOTNULLにする必要があります。また、デフォルト値として「0000-00-0000:00:00」を使用します。

于 2012-09-18T18:25:35.747 に答える