【发布时间】:2018-08-25 21:58:36
【问题描述】:
我选择了一个已有几年历史的项目,并注意到 CURRENT_TIMESTAMP 与许多 php 调用一起发送,以更新许多行中的日期时间字段。这在现场环境中完美运行 - 但是,在我的本地设置中,它没有。
Live DB 和我从 WAMP64 下载的本地版本都在 MySQL5.7.19 上运行。
运行涉及插入 CURRENT_TIMESTAMP 的查询的 PHP 脚本将返回以下错误;
Invalid default value for 'last_update' timestamp
同样,在实时服务器上,这没有问题。两者都使用 MySQLi 来执行这些插入查询。
这里有什么我遗漏的吗?某种允许将 CURRENT_TIME 插入时间戳字段的服务器端配置设置?
【问题讨论】:
-
你试过使用
SET SQL_MODE='ALLOW_INVALID_DATES';吗? -
听起来您本地版本的 MySQL 已将
explicit_defaults_for_timestamp设置为 false? -
请提供
SHOW CREATE TABLE。两者都在运行 5.7.19?您最近是否升级了版本? -
您能否显示这些查询,并强调您尝试插入表示当前时间戳的列中的值?