初次使用pymysql,遇到sql语句格式的问题,官方文档上的东西真的很少啊,哭了。找了很久不知道问题在哪里,看别人写的sql代码,翻了很多终于找到问题了。
起初的sql是这样的:
sql = "DELETE FROM `flight` where `f_id`=%s and `f_date`=%s" % (fid,fdate)
死活都搞不明白为什么不对,调试的时候也发现传入字符串好像没带引号,但没太多,最后没想到真的是这个问题,格式化的时候它会自动帮你吧引号省略掉。。。
修改后:
sql = "DELETE FROM `flight` where `f_id`=\'%s\' and `f_date`=\'%s\'" % (fid,fdate)
加上单引号的转义字符。
不知道还有没有 更好的方法。