坑!!!-mysql执行建表语句报1064

261次阅读
没有评论

遇到大坑了!艹

前言

最近自己准备写个项目玩儿,并且准备采用docker来部署下,配合jenkins看下devops的效果;说干就干,尼玛采用了flyway插件,项目启动时建表语句却执行失败,老是报1064;找了些帖子都没解决,偶然发现这个坑点,记录于此;

建表脚本

DROP TABLE IF EXISTS `t_family_test`;
CREATE TABLE `t_family_test`
(
    `id`                 int(11)      NOT NULL AUTO_INCREMENT COMMENT '主键',
    `family_type`        int(3)          COMMENT '家庭成员类型',
    `family_type_name`   varchar(10)     COMMENT '家庭成员名称',
    `delete_flag`        int(1)       default  '0'   COMMENT '删除标识,0未删除 1已删除',
    `created_by`         varchar(20)  COMMENT '创建人',
    `created_time`       datetime     COMMENT '创建时间',
    `updated_by`         varchar(20)  COMMENT '更新人',
    `updated_time`       datetime     COMMENT '更新时间',
     PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

尼玛这哪里有问题啊,狗日的。项目启动时,flyway执行这个脚本时就是报错;不信邪的我,拿着sql去数据库执行发现,还真是报错;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 ' int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键', ' at line 3, Time: 0.000000s 看这意思是mysql版本的问题,吓的我赶紧去看了下我本地安装的mysql版本; 坑!!!-mysql执行建表语句报1064 5.7的版本,应该是大家都在用的版本,肯定不会有问题的;那么出问题的点还是在这个脚本上;可是我左看右看尼玛这脚本究竟哪里有问题呢!

调整

坑!!!-mysql执行建表语句报1064 就想着尝试调整下脚本sql间的间距,居然就ok了,特么的找谁说理去; 坑!!!-mysql执行建表语句报1064

小结:mysql建表时,字段和表面都加上“`”号,且sql尽量聚合一点,不然错都不知道错哪里了!可怜的我找了一个多小时!坑爹啊,后面还是用表设计工具生成这类的建表的sql吧;

viEcho
版权声明:本站原创文章,由viEcho2021-05-21发表,共计1188字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...