mysql 5.5.1 关于datetime的错误

  • 作者: 凯哥Java
  • 经验分享
  • 时间:2019-06-26 23:35
  • 1045人已阅读
简介 运行的mysql是5.5.21.在创建表的时候,其中有个字段:`create_time` datetime DEFAULT CURRENT_TIMESTAMP,类型是datetime的默认值是current_timestame的。但是在执行脚本的时候,错误信息:错误吗1067。经过查询及验证得到结论:其实之前也遇到过这个问题,也记录到文档中,但是没有写到博客中,导致今

e009c75f0d0d6e166aee92c88b1eb309.png

运行的mysql是5.5.21.

在创建表的时候,其中有个字段:

`create_time` datetime DEFAULT CURRENT_TIMESTAMP,

类型是datetime的默认值是current_timestame的。但是在执行脚本的时候,错误信息:

f1042c320238ca331915c0b9a02b1d88.png

错误吗1067。

经过查询及验证得到结论:

其实之前也遇到过这个问题,也记录到文档中,但是没有写到博客中,导致今天又浪费了一个小时的时间解决这个问题,特此记录. 
1. datetime(3)类型的默认值为CURRENT_TIMESTAMP(3)而不是CURRENT_TIMESTAMP().切记!!! 
2. mysql5.5及之前版本只支持timestamp类型设置默认值为CURRENT_TIMESTAMP,不支持datetime类型默认值设置为CURRENT_TIMESTAMP

在来看修改前的:

5cd4f5fc5c5ffca41799c63fd8a77ee7.png

我们发现datetime没有变色。说明不是关键字。

修改为timestamp后:

82a3b143bf362a17d69f6acecadc7725.png

发现timestamp的是就变色了。

修改后重新执行:sql脚本。4a184c673499d8d49609ce62a16d3dcb.png

OK。执行成功了!


Top Top