ホームページ >データベース >mysql チュートリアル >タイムスタンプ フィールドのデフォルト値として「0000-00-00 00:00:00」を設定できないのはなぜですか?
指定された SQL ステートメントは、次のタイムスタンプ フィールド (create_date) を持つテーブルを作成しようとします。デフォルト値は「0000-00-00 00:00:00」です。ただし、'NO_ZERO_DATE' SQL モードでは、この値を有効な日付として使用することが禁止されています。
このモードより厳格な日付検証ルールを適用します。これにより、データ分析で不一致やエラーが発生する可能性がある、「0000-00-00」などのゼロ値を含む日付の挿入が防止されます。
するにはエラーを解決するには、2 つのオプションがあります:
NO_ZERO_DATE モードを無効にします:
<code class="sql">SET SQL_MODE=(SELECT REPLACE(@@SQL_MODE, 'NO_ZERO_DATE', ''));</code>
これにより、モードが一時的に無効になり、テーブルを作成できるようになります。デフォルト値「0000-00-00 00:00:00」を使用します。ただし、データの整合性を確保するために、後でモードを再度有効にすることが重要です。
以上がタイムスタンプ フィールドのデフォルト値として「0000-00-00 00:00:00」を設定できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。