我有变量varlist,它有列表元素,想把它插入我的数据库中sess_id有两列,分别是自动增量和要存储数据的列表当我这样做时:
varlist=["easy"]
cursor_one.execute("insert into data (list) values(%s)", varlist)
conn.commit()
我的数据被正确插入,但是如果我在变量列表中增加元素的编号:
varlist=["easy","hard","medium"]
cursor_one.execute("insert into data (list) values(%s)", varlist)
conn.commit()
我遇到此错误:
Traceback (most recent call last):
File "C:xampphtdocseclipse_workspaceProjectcheck.py", line 19, in
<module>
cursor_one.execute("insert into data (list) values(%s)", database_list)
File "C:Python34libsite-packagesmysqlconnectorcursor.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()
请帮帮我....
我不完全清楚你想完成什么。 如果您尝试将整个列表插入到数据库中的一个"单元格"中,则需要将列表转换为字符串表示形式:
import pickle
varlist=["easy","hard","medium"]
cursor_one.execute("insert into data (list) values(%s)", pickle.dumps(varlist))
conn.commit()
但是,如果您尝试将列表中的每个条目放入数据库中其自己的行中,则需要循环访问列表,为每个条目插入一行:
varlist=["easy","hard","medium"]
for var in varlist:
cursor_one.execute("insert into data (list) values(%s)", var)
conn.commit()