mysql 错误代码1064
使用SQLyog建表报错
今天使用SQLyog创建mysql表,十分神奇地报了个错,信息如下:
错误代码: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘CURRENT_TIMESTAMPCOMMENT ‘测试’,
primary key (id
)
)’ at line 3
懵,看错误信息,是SQL语法错误,但我是用客户端工具建表啊,而且是只有两个字段的简单之极的表,怎么(当然)可能出错?
排查原因
再看了下错误信息,里面有一段信息near 'CURRENT_TIMESTAMPCOMMENT ‘测试’,看着这么眼熟,这是我添加的一个日期字段,设了默认值和自动更新,和注释,脚本如下:
create table `mytest`.`test`(
`id` int not null,
`update_time` datetime default now() on update CURRENT_TIMESTAMPCOMMENT '测试',
primary key (`id`)
);
仔细一看,晕死,工具生成的sql代码,自动更新的默认时间值,竟然和注释的关键字连起来了,原本应该是CURRENT_TIMESTAMP和COMMENT,中间应该有一个空格,但是…
好吧,拿出sql小调一下,再次执行,成功。