如何解决MySQL连接Navicat设置默认字符串时的报错问题
简介
说明
本文介绍用Navicat添加字段(字符串类型)并设置默认值时的报错问题。
问题描述
在Java开发过程中,经常会遇到给已有的表添加字段的场景。
在插入新字段的时候,表里边可能已经有很多数据了,这时我们最好给新插入的字段设置一个默认值,这样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 ' '注释内容' AFTER `上边的列名` AT line 2
问题复现
给表插入一个字段,字段名为:confirm_status,然后设置其默认值为:UNCONFIRMED(未确认)。
结果:(报错)
原因分析
查看其SQL:
可以发现,在插入列时,默认值是:UNCONFIRMED,这个没有使用引号包起来,所以会报错。
解决方案
设置默认值时用引号包起来:
查看其SQL:(可以发现,已经用引号包起来了)
执行结果:(成功插入字段,并设置了默认值)