我最近切换到 MySQL 5.7,这会导致日期时间出现问题。我的数据库中有日期时间,默认值为0000-00-00 00:00:00
. MySQL 5.7 似乎不喜欢这种类型的默认值。我知道我可以设置sql_mode = ''
,但假设我不想这样做(坚持默认的严格模式),最好的方法是什么?
我可以先更新所有值:
UPDATE mycolumn SET field_datetime = NULL WHERE field_datetime='0000-00-00 00:00:00'
然后编辑 datetime 字段以使用 NULL 作为默认值。
那会是未来的证明吗?我认为 MySQL 5.7 有理由禁止
0000-00-00 00:00:00
.