第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python mysql executemany指定寫入表

python mysql executemany指定寫入表

藍山帝景 2019-04-13 08:46:37
curs.executemany('insertintodbnamevalues(%s,%s,%s,%s)',file_value)sql語句如上,需要對dbname定義我試了在參數(shù)那里加上表名的位置,失?。篺ile_value=[(tables,1,2,3,4)]curs.executemany('insertinto%svalues(%s,%s,%s,%s)',file_value)#報錯:notallargumentsconvertedduringstringformatting用++帶入表名也不行:curs.executemany('insertinto'+tables+'values(%s,%s,%s,%s)',file_value)#報錯:(1136,"Columncountdoesn'tmatchvaluecountatrow1")請問該如何處理?
查看完整描述

2 回答

?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

樓主,剛敲了一下代碼,executemany執(zhí)行時最好對應個數(shù)。
#!/usr/bin/envpython
#--coding:utf-8--
importlogging
importMySQLdb
class_MySQL(object):
def__init__(self,host,port,user,passwd,db,charset='utf8'):
self.conn=MySQLdb.connect(
host=host,
port=port,
user=user,
passwd=passwd,
db=db,
charset=charset)
defget_cursor(self):
returnself.conn.cursor()
defquery(self,sql):
cursor=self.get_cursor()
try:
cursor.execute(sql,None)
result=cursor.fetchall()
exceptException,e:
logging.error("mysqlqueryerror:%s",e)
returnNone
finally:
cursor.close()
returnresult
defexecute(self,sql,param=None):
cursor=self.get_cursor()
try:
cursor.execute(sql,param)
self.conn.commit()
affected_row=cursor.rowcount
exceptException,e:
logging.error("mysqlexecuteerror:%s",e)
return0
finally:
cursor.close()
returnaffected_row
defexecutemany(self,sql,params=None):
cursor=self.get_cursor()
try:
cursor.executemany(sql,params)
self.conn.commit()
affected_rows=cursor.rowcount
exceptException,e:
logging.error("mysqlexecutemanyerror:%s",e)
return0
finally:
cursor.close()
returnaffected_rows
defclose(self):
try:
self.conn.close()
except:
pass
def__del__(self):
self.close()
host='localhost'
port=3306
user='root'
passwd='123456'
db='foo'
mysql=_MySQL(host,port,user,passwd,db)
defcreate_table():
table="""
CREATETABLEIFNOTEXISTS`watchdog`(
`id`int(11)NOTNULLAUTO_INCREMENTPRIMARYKEY,
`name`varchar(100),
`price`int(11)NOTNULLDEFAULT0
)ENGINE=InnoDBcharset=utf8;
"""
printmysql.execute(table)
definsert_data():
params=[('dog_%d'%i,i)foriinxrange(12)]
sql="INSERTINTO`watchdog`(`name`,`price`)VALUES(%s,%s);"
printmysql.executemany(sql,params)
if__name__=='__main__':
create_table()
insert_data()
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關(guān)注
  • 1466 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號