这也是:
cursor.execute("Insert INTO visit (pid, date, diagnosisid) VALUES (%s,%s,%s)",
(pid, date, diagnosisid))
足够还是我需要:
cursor.execute("Insert INTO visit (pid, date, diagnosisid) VALUES (%s,%s,%s)",
(escape_string(pid), escape_string(date), escape_string(diagnosisid)))
?
最佳答案
第一个就够了;第二个会让你的努力加倍,取代例如"
与 \"
。你可以自己测试一下
>>> c.execute("SELECT %s, %s", ('"', MySQLdb.escape_string('"')))
1L
>>> c.fetchall()
((u'"', u'\\"'),)
所以你看到第二个版本会在 "
之前产生一个不需要的 \
。所以第一个没问题。
关于Python mysql 是准备好的语句还是我需要 escape_string()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9113894/