python - 尝试将列表导入 mysql 表时出错
问题描述
每当我尝试将列表添加到 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)
谢谢你!
解决方案
to 的第二个参数executemany
必须是一系列序列或映射,即
listname=[('name1',), ('name2',), ('name3',), ('name4',)]
请参阅https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-executemany.html:
此方法准备一个数据库
operation
(查询或命令)并针对所有参数序列或在序列中找到的映射执行它seq_of_params
。
推荐阅读
- nginx - 别名域返回 400 错误与 ssl_handshake 有关
- huggingface-transformers - 如何基于transformer计算单词相似度?
- python - 该模型在 Tensorflow 到 CoreML 模型中没有有效的图像类型输入特征
- mysql - mysql - vs代码中缺少“运行SQL”命令
- c++ - 模板争吵
- android - React Native 仅在 Android 上不响应触摸
- excel - 从另一个 Excel 宏运行 Excel VBA 宏-错误:找不到 PERSONAL.XLSB
- r - 导入 Excel 工作表和工作簿
- python - 如何在Python字典中按键计数
- javascript - 如何遍历 JSON 文件