如何解决无法将值字符串传递到适用于Python的mySQL连接器中
我正在尝试完成HW作业,其中我必须使用mySQL连接器使用Python将字典中的值传递到mySQL表中。为此,我将字典值转换为可以传递给INSERT查询的字符串。
这是我传递给命令的'values字符串(只需替换值以查看代码是否有效):
1,1,1,1,1,111-111-1111,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ,1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1,1
由于某种原因,每次我尝试运行此代码时,都会出现以下错误:
mysql.connector.errors.Datmysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有一个错误。查看与您的MySQL服务器版本相对应的手册以获取正确的语法以在'1、1、1、1、1、1、111-111-1111、1、1、1、1、1、1、1、1、1、1附近使用第1行的11,1,1,1,1,1,1,1,1,1,'
aError:1136(21S01):列数与第1行的值数不匹配
import mysql.connector
db = mysql.connector.connect(user ='root',host = 'localhost',password ='Fiddlere2012!',db='py')
cursor = db.cursor()
values = ','.join((tuple(mds.values())))
print(values)
insertMDS = ('INSERT INTO MDS'
'(manufacturer,location,contact,address,email,phone,modelNumber,moduleTotalLenxWid,moduleWeight,indCellArea,cellTech,cellManufacturer,cellManuLocation,totalCells,cellSeries,seriesStrings,bypassDiodes,bypassDiodeRating,bypassDiodeMaxTemp,seriesFuseRating,interconnectMatSupModNo,interconnectDims,superstrateType,superstrateMan,substrateType,substrateMan,frameType,frameAdhesive,encapsulantType,encapsulantMan,juncBoxType,juncBoxMan,juncBoxPottingMat,juncBoxAdhesive,juncBoxUse,cableConnectorType,maxSysVoltage,voc,isc,vmp,imp,pmp,ff)'
'VALUES ((%s))' % (values))
cursor.execute(insertMDS)
如果可以的话,请帮助我找出我在做什么错..谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。