mariadb 我无法将SQL结果从连接插入到另一个连接

yqlxgs2m  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(222)

我从查询中检索到sql结果。
编码:cp1252-*-
导入pyodbc
进口马里亚德布


连接(...
光标= cnxn.光标()
cursor. execute("从ficcli中选择cli和lib")
(3)将数据库中的数据
然后
连接(...


数据库中的所有数据都是空的。“
光标2 = cnxn2.cursor()
查询的结果。
提交()
我收到一条错误消息

Traceback (most recent call last):
File "<pyshell#42>", line 1, in <module>
cursor2.executemany(mySql_insert_query,test_result[0])
File "C:\Users\alain\AppData\Local\Programs\Python\Python310\lib\site-packages\mariadb\cursors.py", line 350, in executemany
self._parse_execute(statement, parameters[0], is_bulk=True)
File "C:\Users\alain\AppData\Local\Programs\Python\Python310\lib\site-packages\mariadb\cursors.py", line 218, in _parse_execute
self._check_execute_params()
File "C:\Users\alain\AppData\Local\Programs\Python\Python310\lib\site-packages\mariadb\cursors.py", line 147, in _check_execute_params
raise mariadb.ProgrammingError("Data argument must be "
mariadb.ProgrammingError: Data argument must be Tuple or List

我查过了

type(result)
                                   
<class 'list'>

结果

[('totoco ', ' toto limited          ')]

如果创建列表

test=[]
test=[('totoco ', ' toto limited          ')]

然后我执行

cursor2.executemany(mySqlinsert_query,test]
cnxn2.commit()

它工作
如果我尝试

result==test

错误
我该怎么做才能让它发挥作用呢?

h5qlskok

h5qlskok1#

execute_many()需要一个参数序列作为第二个参数,该参数序列通常是元组数组(列表)。
与您所描述的相反,该异常表明您正在向executemany()传递一个元组,而不是一个元组序列:
File "<pyshell#42>", line 1, in <module> cursor2.executemany(mySql_insert_query,test_result[0])
1.不将result作为参数传递
1.如果test_result是一个元组序列,则传递第一个元组元素,而不是元组序列。

相关问题