坑(三)—— pymysql数据异常

一、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

案例

当数据中含有,",'等符号时,对数据库进行insertupdate时会发生异常

s = 'D:filedata'
s = "a,'b',dddd"

解决方案

from pymysql import escape_string

s = escape_string(s)
原文地址:https://www.cnblogs.com/linagcheng/p/13359549.html