一、问题背景


需要修改数据库里的数据,修改时报错。


二、问题 sql

sql语句如下:

update userGroup set group = "sh_group,tj_dw_group,tj_admin_group,ferry_data_group" where user= 'heqiriletu';

userGroup表字段如下:

字段名 格式
user varchar(200)
group varchar(200)

三、报错内容

ERROR 1064 (42000): 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 'group = "sh_group,tj_dw_group,tj_admin_group,ferry_data_group" where user= 'heqi'

四、问题原因

sql中含有group的关键字,所以需要对关键字需要加上``符号进行转义

`这个符号是对数据库名、表明、字段的特殊处理。避免和 mysql 的本身的关键字冲突。


五、解决方案

将对 group 字段加入``字符

update userGroup set `group` = "sh_group,tj_dw_group,tj_admin_group,ferry_data_group" where user= 'heqiriletu';

六、优化建议

以后建表时,尽量避免使用mysql的关键字作为建表字段。