エラー 1067 (42000): 'created_at' のデフォルト値が無効です 質問する

エラー 1067 (42000): 'created_at' のデフォルト値が無効です 質問する

テーブルを変更しようとすると、次のエラーが表示されました:

ERROR 1067 (42000): Invalid default value for 'created_at'

このエラーについて Google で検索しましたが、タイムスタンプを変更しようとしたためにエラーが発生したという情報しか見つかりませんでした。ただし、ここで新しい列を追加しようとすると、次のエラーが発生します。

mysql> ALTER TABLE investments ADD bank TEXT;
ERROR 1067 (42000): Invalid default value for 'created_at'

私の表の最後の 2 つの列はcreated_atとですupdated_at

テーブル構造は次のとおりです。

ここに画像の説明を入力してください

ベストアンサー1

問題はSQLモード次のコマンドで現在の sql_modes を確認してください:

show variables like 'sql_mode' ; 

そしてsql_modeを削除します。日付にゼロがない、日付にゼロがない」と入力して実行してください。これは、mysql の新しいバージョンでのデフォルトの sql_mode です。

次のコマンドを使用して、root として sql_mode をグローバルに設定できます。

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

おすすめ記事