python列表名是动态的_在python中添加动态表名

在给定的查询中,我试图将表名作为用户的输入:import MySQLdb

import csv

conn=MySQLdb.connect("localhost","root","","graphdata")

c=conn.cursor()

a= raw_input("Enter the table name")

sql='''SELECT distinct sku FROM %s_management'''

c.execute(sql,str(a))

rows=c.fetchall()

file=open('mine.csv','a+')

for eachRow in rows:

print eachRow

a=eachRow

file.write(str(a)+"\n")

file.close()

我想要的是编译器应该

^{pr2}$

我应该输入表名Enter table name: inventory

它应该在查询中连接:sql='''SELECT distinct sku FROM inventory_management'''

但到目前为止,我发现了这些错误:c.execute(sql,str(a))

File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 198, in execute

query = query % args

TypeError: not all arguments converted during string formatting

File "change.py", line 7, in

sql='''SELECT distinct sku FROM %s'''(a)

TypeError: 'str' object is not callable

c.execute("SELECT distinct sku FROM %s_management")(a)

File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 219, in execute

self.errorhandler(self, exc, value)

File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 38, in defau

lterrorhandler

raise errorvalue

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax

; check the manual that corresponds to your MySQL server version for the right s

yntax to use near '%s_management' at line 1")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值