MySQL创建表时使用CURRENT_TIMESTAMP报错

本文介绍在使用Navicat运行SQL脚本时遇到的[Msg]Finished-Unsuccessfully错误,具体为[Err]1067-Invalid default value for ‘create_time’。文章详细分析了错误原因,即在MySQL版本低于5.6时,无法将CURRENT_TIMESTAMP设置为DATETIME类型的默认值,并提供了升级MySQL版本至5.7以解决问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Navicat运行SQL脚本的时候,
报错[Msg] Finished - Unsuccessfully,
为查明错误原因,把建表语句复制到Navicat上直接执行,发现错误[Err] 1067 - Invalid default value for ‘create_time’
定位到错误位置:create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
DEFAULT后面的DEFAULT CURRENT_TIMESTAMP。上
网搜了下CURRENT_TIMESTAMP

众所周知,MySQL的日期类型可以使用CURRENT_TIMESTAMP来指定默认值,
但是这个跟MySQL的版本及日期的具体类型有关,
只有5.6之后的版本才能使用CURRENT_TIMESTAMP作为DATETIME的默认值。

查看MySQL版本,
打开phpStudy->其他选项菜单->MySQL工具->点击 MySQL命令行
输入密码 回车
在这里插入图片描述
发现本地MySQL版本确实不对,升级!

PhpStudy升级 MySQL版本到5.7详细见:https://blog.youkuaiyun.com/qq_38778882/article/details/84846148

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值