【鸠占鹊巢】MySQL关键字非法使用,导致数据插入不成功
一、背景
在实体类对象中,有一个字段用于比较大小,取字段名为condition
,原代码中该字段是这样声明的,
@Column(name = "`condition`",nullable = false)
@NotBlank
@ApiModelProperty(value = "条件")
private String condition;
后来优化去掉了反引号,以为很美观,优化了个寂寞。
在插入该实体对象到数据库中,出现如下报错,
check the manual that corresponds to your MySQL server version for the right ...
二、错误原因
condition
是MySQL的保留字(Reserved words),出现报错,要使得该冲突字段合法,要在字段上添加反引号。
三、MySQL关键字列表
每个版本对应不同的关键字(Key words)和保留字列表,在开发中应掌握所应用的数据库版本对应的列表。笔者使用的是MySQL5.7
,其关键字和保留字字列表参见Mysql关键字和保留字 - 版本5.7。