「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQL で「「create_date」タイムスタンプ フィールドのデフォルト値が無効です」というエラーが発生するのはなぜですか?

MySQL で「「create_date」タイムスタンプ フィールドのデフォルト値が無効です」というエラーが発生するのはなぜですか?

2024 年 11 月 9 日に公開
ブラウズ:307

Why Am I Getting \

'create_date' タイムスタンプ フィールドのデフォルト値が無効です

タイムスタンプ列を含むテーブルを作成し、デフォルト値 '0000- を指定する場合00-00 00:00:00' の場合、「無効なデフォルト値です」というエラーが発生する場合があります。 「作成日」」。このエラーは、MySQL の SQL モード - NO_ZERO_DATE.

によって引き起こされます。MySQL リファレンス マニュアルによると、NO_ZERO_DATE は、厳密モードで有効な日付として '0000-00-00' を挿入できません。この場合、「create_date」列はタイムスタンプとして定義され、デフォルト値「0000-00-00 00:00:00」が割り当てられました。ただし、SQL モード - NO_ZERO_DATE ではそのような値は禁止されています。

このエラーを解決するには、次のオプションを検討してください:

  • 作成する前に SET sql_mode="" コマンドを使用して SQL モード - NO_ZERO_DATE を無効にします。テーブル。
  • 「create_date」列に異なるデフォルト値を使用します。 '0000-00-00 00:00:00' ('CURRENT_TIMESTAMP' など)。
  • IGNORE オプションを使用してゼロの日付を挿入します。これにより、エラーの代わりに警告が表示されてそのような値を挿入できます。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3