解决sql关键字冲突

  • Post author:
  • Post category:其他


今天用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 (?,?,?,?)



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




版权声明:本文为GDUTACMA2011149原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。