【发布时间】:2026-02-15 23:15:03
【问题描述】:
我有变量 varlist,其中包含列表元素并希望将其插入到我的数据库中 有两列 sess_id 是自动增量的,并列出了我要存储数据的位置 当我这样做时:
varlist=["easy"]
cursor_one.execute("insert into data (list) values(%s)", varlist)
conn.commit()
我的数据已正确插入,但如果我增加编号。 varlist 中的元素:
varlist=["easy","hard","medium"]
cursor_one.execute("insert into data (list) values(%s)", varlist)
conn.commit()
我遇到了这个错误:
Traceback (most recent call last):
File "C:\xampp\htdocs\eclipse_workspace\Project\check.py", line 19, in
<module>
cursor_one.execute("insert into data (list) values(%s)", database_list)
File "C:\Python34\lib\site-packages\mysql\connector\cursor.py", line
553, in execute
"Not all parameters were used in the SQL statement")
mysql.connector.errors.ProgrammingError: Not all parameters were used
in the SQL statement
这是我的全部代码
import mysql.connector
conn= mysql.connector.connect
(user="root",password="",host="localhost",database="videojs")
varlist=['easy','hard']
cursor_one.execute("insert into data (list) values(%s)", varlist)
conn.commit()
请帮帮我....
【问题讨论】:
-
为什么这被标记为 MySQL 和 Sqlite3?它们根本不同。
-
^ 另外,我感觉昨天已经有人问过了。
-
导致我在 mysql db 中插入并在 python 中导入 sqlite 3
-
你不能帮帮我吗...
-
嗯,这对我来说仍然没有意义。为什么要使用两个数据库?不管怎样,你可以试试
placeholders = ['%s' for x in range(len(varlist))]然后cursor_one.execute("insert into data (list) values({})".format(placeholders), varlist)。但这可能不是最干净的代码,我不知道您是否需要%s或?作为占位符,因为您并不具体说明您正在使用的技术。
标签: python mysql sql list sqlite