一、问题背景


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


二、问题 sql

sql语句如下:

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

userGroup表字段如下:

字段名格式
uservarchar(200)
groupvarchar(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的关键字作为建表字段。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐