python mysql操作使用变量作为表名



使用python操作mysql数据库的时候,被一个问题困扰了好久,原因是数据库里面有个表按日期分的。也就是每天一个新表,数据在入库的时候,表名在python程序里面是一个变量,同时表里面字段有很多,本以为轻松愉快的就能解决,比如这样。


cur.execute("INSERT INTO table_%s VALUES(%s, %s, %s, %s, %s”,(date,v1,v2,v3,v4))




程序报错,原因是execute自动对变量转义了,表名变成这样  table_'20161017' 这样的格式,sql执行报错了。
本来以为要自己转义字段值的时候,突然想到,execute对变量转义的标志是以“,"号格式化字符串,所以尝试了下面这种写法


cur.execute("INSERT INTO table_%s" % date + " VALUES(%s, %s, %s, %s, %s”,(v1,v2,v3,v4))




问题解决~
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页