получая ошибку при попытке импортировать список в таблицу mysql - PullRequest
0 голосов
/ 11 февраля 2019

всякий раз, когда я пытаюсь добавить список в таблицу mysql, я получаю сообщение об ошибке: «ProgrammingError: не все параметры были использованы в операторе SQL»

Я пытался посмотреть в Интернете, но все, что я мог найти, это то, чтоМне нужно использовать% 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 голосов
/ 11 февраля 2019

Второй аргумент executemany должен быть последовательностью последовательностей или отображений, т.е.

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

См. https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-executemany.html:

Этот метод подготавливает базу данных operation(запрос или команда) и выполняет его для всех последовательностей параметров или отображений, найденных в последовательности seq_of_params.

...