解决sql关键字冲突

本文介绍了在使用MyBatis插入数据到MySQL数据库时遇到的问题及解决方案。由于MySQL保留字如'read'导致SQL语法冲突,文章提供了两种解决方法:避免使用保留字作为字段名和使用转移符`来标识保留字。

今天用mybatis插入数据库数据的时候一直报错,sql语句类似以下:

insert into test_table (wind_code,name,read,creade_time) values (?,?,?,?)

经过排查,发现是read是mysql的保留字(关键字)引起的冲突。

解决方法我目前总结这两个:

1、字段命名尽量不要跟sql的保留字一样,想status啊,index啊

2、有时候难免一样,或者改字段比较麻烦,这时候可以用mysql的转移符:`

在冲突的字段加上转移符,这样子就可以了:

insert into test_table (wind_code,name,`read`,creade_time) values (?,?,?,?)

(注意:这个转移符不是中文(‘)或者英文(')的单引号,而是这个(`),长得很像对不对?如果用单引号,还是会报错,之前不知道,被坑了几次)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值