今天用python連接mysql數(shù)據(jù)庫,在插入多條數(shù)據(jù)的時(shí)候油猫,有個(gè)語法一直不會(huì)用尸闸,就是executeman画舌,args參數(shù)的格式其實(shí)是一個(gè)元祖奠货,其他格式都不行
具體代碼如下:
def insertMore(self,condition,params):
? ? ? try:
????????????self.cur.executemany(condition,params)
????????????self.conn.commit()
????????????return True
????????exceptpymysql.Errorase:
????????????print("Mysql Error %d:%s"%(e.args[0],e.args[1]))
????????????logging.basicConfig(filename=os.path.join(os.getcwd(),'./log.txt'),
????????????level= logging.DEBUG,
? ? ? ?????format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
????????????logger = logging.getLogger(__name__)
????????????logger.exception(e)
????????????return? False
if__name__=="__main__":
????????test = OperationDb_interface()#實(shí)例化類
????????錯(cuò)誤用法
????????#result = test.insertMore('INSERT INTO student values(8,"aaa")介褥,param=xxx')
????????正確用法
????????result = test.insertMore('INSERT INTO student values(%s,%s)',params=[(9,"ab"),(6,"abcd"),(7,"abcde")])
????????print(result)