执行以下代码以便通过python中的变量将多个值插入mysql时,我得到:
“执行'result = cursor.executemany(sql_insert_query,records_to_insert)'后执行预备语句的参数数量错误”
如果我删除“ prepared = True”,则错误变为:
“并非在SQL语句中使用了所有参数”
gcloud compute forwarding-rules create rule-name --ip-protocol TCP \
--ports 80 --address IP ADDRESS --target-instance target-instance-name
任何人都可以指定问题出在哪里吗?
答案 0 :(得分:0)
您传递的是字符列表,而不是元组。例如,如果您尝试运行:
for record in records_to_insert:
print(record, isinstance(record, str), isinstance(record, tuple))
您将获得:
x True False
y True False
z True False
要在python中使用单个元素创建元组,您可以执行以下操作:
records_to_insert = [
('x',),
('y',),
('z',)
]
如果您有一个参数列表,并且想将所有参数都转换为元组,则可以执行以下操作:
list_of_elements = list("list_of_characters")
tuples = [
tuple(e) for e in list_of_elements
]
希望这会有所帮助!