我有一个存储在mysql db中的大量数据。数据库中的一列是长字符串。其中一个字符串是" iEdge检测到'警告'条件' iedge"它存储在string_type中。我必须查询数据库并找到有多少这样的字符串。我正在查询我的python程序。当我使用像
这样的东西时 cur.execute("select count(*) from table1 as tmp where tmp.err_string='"+row[r]+"'")
行[r]包含" iEdge检测到'警告'条件' iedge"
我收到错误1064(您的SQL语法中有错误...)。我认为它正在发生,因为字符串中有一些引号。我可以知道如何解决这个问题吗?
答案 0 :(得分:0)
你可以试试这个:
sql = "select count(*) from table1 as tmp where tmp.err_string=%s"
cursor.execute(sql, [row[r]])
让MySQL Python库担心转义特殊字符以及如何引用字符串。
有关详细信息,请参阅this SO post。