MySQL の「created_at」エラーの無効なデフォルト値
テーブルを変更しようとすると、次のエラー メッセージが表示されます:
ERROR 1067 (42000): Invalid default value for 'created_at'
このエラーは通常、タイムスタンプ列を変更するときに発生しますが、この例では、新しい列を追加するときに発生します。影響を受けるテーブルには、最後の 2 つのエントリとして「created_at」列と「updated_at」列があります。
解決策
このエラーの原因は SQL モード設定にあります。問題を修正するには、次のコマンドを使用して現在の SQL モードを確認します。
show variables like 'sql_mode' ;
SQL モードに「NO_ZERO_IN_DATE,NO_ZERO_DATE」が含まれている場合は、これらの設定を削除して問題を解決します。これらの設定は、MySQL の新しいバージョンのデフォルトです。
root ユーザーとして、次のコマンドを使用して SQL モードをグローバルに変更できます:
set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
以上がMySQL で「'created_at' のデフォルト値が無効です」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。