一个中文空格引起的bug

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

下午码代码的时候,调用了公司封装的jar包,一直报sql语句错误。但是同事调用却没问题,搞的相当的郁闷。

我就将公司的jar包进行反编译,将编译后的代码copy到本地进行调试,获取将要运行的sql。

此时sql语句看起来一点都没错,我将sql语句粘贴到navicat里,就能明显看到,navicat并没有将where视作关键字(没有高亮表示),我删除where前面的空格,从新敲一个空格,此时where变成高亮,也就是意味着,此时的where是关键字。执行sql果然没问题。

从这里可以得知,是那个空格字符导致的。我能猜想到的是,那个字符可能是在中文下敲的。

同事执行的没问题,因为同事采用的是oracle 数据库,而我调用的时候,用的是mySql数据库。

得出结论:

代码尽可能的不要在中文下进行输入。



转载于:https://my.oschina.net/u/2344371/blog/599144

你可能感兴趣的:(一个中文空格引起的bug)