【发布时间】:2019-02-25 09:23:54
【问题描述】:
我有大约 6000 条记录,我想将它们和INSERT 读取到新表中。它们包含单引号和双引号,而 MySQL 无法接受我的查询,因为当阻止我的 '(单引用)它已被关闭并产生语法错误:
sql = "INSERT INTO tr_en_ahmadali(id,sura,aya,aya_text) VALUES({0},{1},{2},'{3}');".format(str(index), str(j[index - 1]) ,str(aya_), str(k[single_aya - 1]))
print(sql)
当我打印我的查询时,我得到以下 sql 查询:
INSERT INTO tr_en_ahmadali(id,sura,aya,aya_text) VALUES(34,2,27,'Who, having sealed it, break God's covenant, dividing what He ordained cohered; and those who spread discord in the land will suffer assuredly.');
我的问题是: 如何用 python 替换每个单引号和双引号 \' 或 \"?
【问题讨论】:
-
使用
format或字符串连接来创建SQL 查询是危险的并且容易出错。使用execute方法的强大功能:db.execute("INSERT INTO tr_en_ahmadali(id, sura, aya, aya_text) VALUES(?, ?, ?, ?)", (index, j[index - 1], aya_, k[single_aya - 1]))。