无法获取多个数据库的结果(SQL工具)



我必须从数据库中获得混合结果,但这段代码引发了一个错误:

from sql_tools import sqlite
sqlite.connect(["main.db", "base.sqlite3"])
data = sqlite.execute(["SELECT * FROM PREFERENCES", "SELECT * FROM USERS"]).get
sqlite.disconnect()

错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:UsersHunnyAppDataLocalProgramsPythonPython38libsite-packagessql_toolssqliteexecute.py", line 28, in execute
obj.execute()
File "C:UsersHunnyAppDataLocalProgramsPythonPython38libsite-packagessql_toolsinternals.py", line 188, in execute
self.__command = self.__parseCommands()
File "C:UsersHunnyAppDataLocalProgramsPythonPython38libsite-packagessql_toolsinternals.py", line 270, in __parseCommands
raise e
File "C:UsersHunnyAppDataLocalProgramsPythonPython38libsite-packagessql_toolsinternals.py", line 260, in __parseCommands
raise exception.UnknownError(
sql_tools.exception.UnknownError: Database and commands are not commuting, n(commands) != n(database)

有人能告诉我如何解决这个问题吗

这是因为当您连接多个数据库时,execute函数希望您以列表的形式传递命令,其中列表的每个元素都是要在每个数据库上执行的命令列表。您可以在文档中阅读更多信息。

更正代码:

from sql_tools import sqlite
sqlite.connect(["main.db", "base.sqlite3"])
data = sqlite.execute([["SELECT * FROM PREFERENCES"], ["SELECT * FROM USERS"]]).get
sqlite.disconnect()

最新更新