一、case 1
案例
# time datetime类型
def update_db(table_name,name,t):
sql=‘update table {} set name={}, time={}‘.format(table_name,name,t)
原因
当最外面引号被去掉后,第三个括号的值为本应为date类型数据,通过字符串方式插入。但现在不是字符串(没引号)了,所以不匹配,插入失败了。修改上面代码,即字符串sql中给第三个大括号加引号即可
解决方案
{}加上引号,表示用字符串t是datetime
类型
sql=‘update table {} set name="{}", time="{}"‘.format(table_name,name,t)
二、case 2
案例
当数据中含有\
,"
,‘
等符号时,对数据库进行insert
、update
时会发生异常
s = ‘D:\file\data‘
s = "a,‘b‘,dddd"
解决方案
from pymysql import escape_string
s = escape_string(s)