在使用新架构WebFlux + R2DBC做拉取广告报表数据需求时,新建了表来保存拉取数据,因为字段有80多个,为了方便,就把第三方文档的字段直接作为表字段取建表,然后在调用spring原生Repository.save(实体)方法时报错,BadSqlGrammarException: executeMany,检查了实体表和数据库表的字段后,发现没有任何问题,后来把控制台打印的sql放到数据库可视化工具Navicat后才发现问题,原来是我建表的时候使用了MySQL的关键字show和convert,把两个字段改成别的名字后,就插入成功了。
因为关键字很多,有时我们无法辨别出关键字,一个好的解决方法就是把控制台打印的SQL复制到我们的可视化工具中执行,我们会发现如果字段是关键字的话,那么将是蓝色的。