今天在使用python批量更新数据库时,出现了pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check这样的错误。
原因分析:
python 调用pymysql模块遇到转义问题!
解决办法:
操作数据库之前需要多加一步转化,使用:pymysql.escape_string(str)
为什么需要使用pymysql.escape_string转义?
如果将含有特殊字符的字符串直接插入到MySQL数据库中,则可能会出现丢失或者其他问题。
如直接插入带有""的内容,则在数据库中实际存储的是会去掉“”,而通过escape_string方法转义后再插入到数据库中,则实际存储的效果才是我们想要的。
因此,存数据库的时候要防止转义。所以需要将代码添加一句: