Я пытаюсь настроить INSERT INTO
производительность моего python кода с помощью cursor.executemany()
, но я получаю некоторые ошибки.
Код:
import mysql.connector
mydb = mysql.connector.connect(
host="database1",
user="username1",
passwd="password1",
database="dbname"
)
data = [
'A',
'B',
'C',
]
mycursor = mydb.cursor()
query = "INSERT INTO table_name (name) VALUES (%s)"
mycursor.executemany(query, data)
mydb.commit()
В соответствии с примером , это должно работать, однако я получаю ошибки:
Traceback (most recent call last):
File "/Users/filipniko/PycharmProjects/scrape/darwin-scrape/venv/lib/python3.7/site-packages/mysql/connector/cursor_cext.py", line 308, in _batch_insert
prepared = self._cnx.prepare_for_mysql(params)
File "/Users/filipniko/PycharmProjects/scrape/darwin-scrape/venv/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 632, in prepare_for_mysql
raise ValueError("Could not process parameters")
ValueError: Could not process parameters
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "dbtest.py", line 18, in <module>
mycursor.executemany(query, data)
File "/Users/filipniko/PycharmProjects/scrape/darwin-scrape/venv/lib/python3.7/site-packages/mysql/connector/cursor_cext.py", line 350, in executemany
stmt = self._batch_insert(operation, seq_params)
File "/Users/filipniko/PycharmProjects/scrape/darwin-scrape/venv/lib/python3.7/site-packages/mysql/connector/cursor_cext.py", line 329, in _batch_insert
"Failed executing the operation; %s" % err)
mysql.connector.errors.InterfaceError: Failed executing the operation; Could not process parameters
Примечания:
- Таблица пуста
- Я могу добавить строки, используя
mycursor.execute
для каждого элемента в списке
Схема таблицы выглядит следующим образом:
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | NO | UNI | NULL | |
+-------+--------------+------+-----+---------+----------------+
Что я делаю не так?