尝试将列表导入mysql表时收到错误

时间:2019-02-11 02:58:15

标签: python mysql python-3.x mysql-python

每当我尝试向mysql表中添加列表时,都会出现错误:“ ProgrammingError:SQL语句中未使用所有参数”

ive试图在线查看,但我能发现的是,我需要使用%s来解决此问题,而不是其他任何类型的占位符,但是我确实可以。

我的代码(只是提到我在列表中有20个名字,但我认为这并不重要):

mydb=mysql.connector.connect(host='localhost',user=d,passwd=z,database=y)
listname=['name1','name2','name3','name4']
mycursor=mydb.cursor()
mysqlcommand='INSERT INTO tabletest (firstname) values (%s)'
mycursor.executemany(mysqlcommand,listname)

谢谢!

1 个答案:

答案 0 :(得分:0)

executemany的第二个参数必须是序列或映射的序列,即

listname=[('name1',), ('name2',), ('name3',), ('name4',)]

请参见https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-executemany.html

  

此方法准备数据库operation(查询或命令),并针对序列seq_of_params中找到的所有参数序列或映射执行数据库。