【发布时间】:2021-08-22 18:36:24
【问题描述】:
我有一些 python 代码将列添加到表中,然后遍历列表并将每个值添加到列中。它添加列,但不添加任何值。它给了我错误ValueError:无法处理参数,但是当我在mysql控制台中键入相同的命令时,它就可以正常工作了。以下是我的代码的相关部分和错误消息。让我知道是否有任何明显错误。请和谢谢。
mycursor = mydb.cursor()
colname=input()
que="ALTER TABLE timestamps ADD {} TIMESTAMP(6) ".format(colname)
mycursor.execute(que)
print(que)
for i in range(len(res)):
val = res[i]
print(val)
sql = "INSERT INTO timestamps ({}) VALUES ('{}') ".format(colname,val)
print(sql)
mycursor.execute(sql, val)
mydb.commit()
asdf
ALTER TABLE timestamps ADD asdf TIMESTAMP(6)
2021-05-23 02:32:20.660
INSERT INTO timestamps (asdf) VALUES ('2021-05-23 02:32:20.660')
Traceback (most recent call last):
File "upload_onsets.py", line 89, in <module>
mycursor.execute(sql, val)
File "/home/ubuntu2004/.local/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 257, in execute
prepared = self._cnx.prepare_for_mysql(params)
File "/home/ubuntu2004/.local/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 651, in prepare_for_mysql
raise ValueError("Could not process parameters")
ValueError: Could not process parameters
【问题讨论】:
-
学习使用
for val in res:而不是for i in range(len(res)):