ERROR 1064 (42000): You have an error in your SQL syntax;
2021/11/9 19:41:53
本文主要是介绍ERROR 1064 (42000): You have an error in your SQL syntax;,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天在mysql执行一个sql语句,报错:
mysql> select sum(xxxx) from xxxx where dm='dbm' and DATE_FORMAT(sj,'%Y-%m') = DATE_FORMAT('sj$','%Y-%m');
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 'select sum(xxxx) from xxxxx where dm='dbm' and DAT' at line 1
报的错误有点看不懂,仔细检查sql,并没有语法错误,于是自己手敲了一遍,发现可以正确执行。
于是,将报错的和手敲的放到txt里面,没有发现不同,怀疑是有不可见的字符,拷贝到linux里面,用cat -A查看,发现了问题:
# cat -A a.txt
selectM-BM- sum(xxxxx) fromM-BM- xxxxxxx-BM- whereM-BM-
select sum(xxxxx) from formtable_main_125 where
发现上面的sql,多了一些M-BM-字符。
如何替换呢?用16进制:
# cat -A b.txt
selectM-BM- sum(xxxxx)
# od -tcx1 b.txt
0000000 s e l e c t 302 240 s u m ( x x x x
73 65 6c 65 63 74 c2 a0 73 75 6d 28 78 78 78 78
解决方法:
可以用sed命令处理一下文件,命令如下:
sed 's/\xc2\xa0/ /g' -i 文件路径
就可以把"M-BM-" 替换成空格。
这篇关于ERROR 1064 (42000): You have an error in your SQL syntax;的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南