如何为MySQL Datetime列设置默认值?
在SQL Server中它是getdate().什么是MySQL的等价物?如果这是一个因素,我正在使用MySQL 5.x.
注意:问题是关于DATE类型,而不是日期时间或时间戳
如何更改日期数据类型列以默认使用当前日期?我看了很多关于datetime的例子,但没有看到日期.我试过了:
ALTER TABLE `accounting` ALTER `accounting_date` SET DEFAULT CURRENT_DATE;
ALTER TABLE `accounting` CHANGE `accounting_date` `accounting_date` DATE NOT NULL DEFAULT CURRENT_DATE;
Run Code Online (Sandbox Code Playgroud)
我也试过CURDATE(),NOW(),CURRENT_DATE()......
我已经接受了几年前的项目,并注意到CURRENT_TIMESTAMP正在发送大量的php调用来更新很多行中的datetime字段.这在现场环境中完美运行 - 但是,在我的本地设置中,它没有.
Live DB和WAMP64下载的本地版本都在MySQL5.7.19上运行.
运行涉及插入CURRENT_TIMESTAMP的查询的PHP脚本将返回以下错误;
Invalid default value for 'last_update' timestamp
Run Code Online (Sandbox Code Playgroud)
但是,再次,在实时服务器上,这没有问题.两者都使用MySQLi来执行这些插入查询.
这里有什么我想念的吗?某种服务器端配置设置允许CURRENT_TIME插入时间戳字段?