赞
踩
今天写数据库脚本,创建数据库时,有一个字段是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 类型的数据中~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。