使用navicat在对MySQL8增加字段时一直报错: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 ''DEFAULT' at line 3。本文地址:http://www.04007.cn/article/1165.html,未经许可,不得转载.
我的SQL语句也没有什么特殊的地方,ALTER TABLE `test` ADD COLUMN `number` int NOT NULL COMMENT '数量' AFTER `name`。因为是在表设计界面上进行的字段修改,开始我一直认为是生成的sql语句中的default默认值的问题,或者mysql8版本有什么特殊之处,而实在是找不到设置中哪个地方有问题后。仔细查看了一下mysql的语句,发现其提示的使用navicat的时候自动带上的第3行语句问题。本文地址:http://www.04007.cn/article/1165.html,未经许可,不得转载.
DEFAULT CHARACTER SET DEFAULT;本文地址:http://www.04007.cn/article/1165.html,未经许可,不得转载.
这句语句是哪来的呢,是和表设计里选项栏的字符集设置关联的。改变字符集可以改变sql预览这里的sql,我这里改成utf8mb4后即保存成功。你说这里根本没有进行任何修改,这个表也一直运行正常,修改个字段,它就多此一举地生成这么一句有问题的语句出来,真是多余啊。本文地址:http://www.04007.cn/article/1165.html,未经许可,不得转载.
另外,在使用新的mysql8版本时要注意,老版本的navicat(比如navicat11版本)无法查看mysql8版中的json字段。在创建的时候字段类型中就没有json可选,创建之后查看数据时,json类型字段直接不能显示出来。我用的是navicat11.0.10 版本,需要升级navicat版本。如navicat15版本可以解决问题。本文地址:http://www.04007.cn/article/1165.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1165.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |