Python 字符串 单引号引起的 sql 语句错误

在使用python字符串拼接sql语句的时候,由于字符内部有单引号,导致sql语句被断开抛出异常。

找了一些方案都不完美,有的要引入其他库,有的要破坏原始数据,这里使用了最简单的字符串替换解决。

sql_insert = "insert into cinemas(id, dir, url) VALUES ('%s', '%s', '%s');" \
                             % (cinema_id, title.replace("'", "\\'"), url)

把字符串中的单引号替换成\'即可,这样单引号会被视为转义字符,不会用来做分隔符,插入数据也是正确的。

因为这里的反斜杠本身也要转义,所以要再加一个反斜杠转义后面的反斜杠,一共是两个\。

你可能感兴趣的:(代码人生,python,单引号,sql语句,转义,apostrophe)