我正在使用连接/游标将数据从旧数据库/模式迁移到使用 Django 模型构建的新数据库/模式。我遇到带有撇号的名称的问题
简化
business = "Tom's Diner"
cursor.execute("select * from businesses where name = '" + business + "'")
这显然会失败,因为我强制使用导致 SQL 语法问题的单引号。如果我这样做会起作用:
business = "Tom''s Diner"
但由于这是处理迁移数百万行的自动化过程。我正在寻找一种方法来转义我的字符串 before 将其应用于直接 MySQL 查询。
我的问题:是我必须手动做的事情,还是 Django/Python 中有一些函数可以转义字符串,并且可以处理我什至还没有想到的情况,比如字符串中的双引号等。
请您参考如下方法:
试试这个:
cursor.execute("select * from businesses where name = %s ", (business ,))
确保第二个参数是元组:(business,) not (business)
