MySQL5.7の日時とタイムスタンプがデフォルトの0エラーを設定

mysql5.7バージョン後datetime / timestampデフォルト値0または0000-00-0000 00 00エラー
が異常に発生します
'
create_time 'のデフォルト値が無効です理由: mysql5.7デフォルト使用後のsql_modeバージョン:

mysql> select @@sql_mode;
ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES, 
NO_ZERO_IN_DATE, 
NO_ZERO_DATE, 
ERROR_FOR_DIVISION_BY_ZERO, 
NO_AUTO_CREATE_USER, 
NO_ENGINE_SUBSTITUTION 

NO_ZERO_IN_DATEとNO_ZERO_DATEの2つのオプションは、0000などの日付と時刻を禁止します。したがって、mysql構成ファイルで、sql_modeをリセ​​ットし、これら2つの項目を削除します。
解決:

# 临时修改
mysql> set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;
mysql> set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;
# 永久修改
# 修改my.cnf文件,在[mysqld]中添加
sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

著者:iscona
リンク:https://www.jianshu.com/p/f701ceffc7e1
出典:ジェーンの本
は著者が著作権を所有しています。商用の再版については、承認を得るために作者に連絡してください。非商用の再版については、出典を示してください。

おすすめ

転載: blog.csdn.net/ory001/article/details/108627125