mysql 5.5 默认时间_Mysql 5.5 DATETIME类型的字段设置默认值为NOW()的方法

今天写数据库脚本,创建数据库时,有一个字段是datetime类型的,想要设置默认时间为当前时间,于是有了如下代码

`registerDate` datetime NOT NULL DEFAULT NOW() COMMENT '注册时间'

执行之后报错

Error Code: 1067. Invalid default value for ‘registerDate’

然后改成如下

`registerDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间'

还是报相同的错误

上网查了很多,改成timestamp类型就可以执行了

`registerDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间'

但是,我想要的是datetime类型的,如何设置默认值为当前时间????

PS:在mysql 5.6中,前两种写法都可以执行的···求大神帮忙解答啊

一直都在用timestamp 还真没注意到有你说的问题,刚刚试了下应该是5.5还不支持这样,datetime的默认值可以这么配

REGISTERDATE DATETIME NOT NULL DEFAULT '1999-01-01 01:01:01'

,用当前时间的话试试加个TRIGGER set

MySQL 5.6,亲测可用!

这个是因为版本太低了,CURRENT_TIMESTAMP 在 5.6+ 版本才能赋值 DEFAULT 到 DATETIME 类型的数据中~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值