问题描述
我有一个使用 COUNT()
聚合函数的存储过程。以下是存储过程:
DELIMITER //
CREATE PROCEDURE UpVoteCount (
IN tid int
)
BEGIN
CALL ActiveSession(@ID);
SELECT COUNT(TWEET_ID)
FROM upVoted
WHERE ID = tid
END //
DELIMITER ;
当我在查询中调用它时,上面的过程工作得很好。但是当我使用 python MysqL.connector
调用它时,我收到以下错误
Traceback (most recent call last):
File "C:\Users\-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\python39\site-packages\MysqL\connector\cursor.py",line 1370,in _row_to_python
named_tuple = NAMED_TUPLE_CACHE[columns]
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib\weakref.py",line 134,in __getitem__
o = self.data[key]()
KeyError: ('COUNT(TWEET_ID)',)
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "E:\cli.py",line 46,in <module>
print(next(result).fetchall())
File "C:\Users\-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\python39\site-packages\MysqL\connector\cursor.py",line 1456,in fetchall
res.append(self._row_to_python(
File "C:\Users\-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\python39\site-packages\MysqL\connector\cursor.py",line 1372,in _row_to_python
named_tuple = namedtuple('Row',columns)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib\collections\__init__.py",line 390,in namedtuple
raise ValueError('Type names and field names must be valid '
ValueError: Type names and field names must be valid identifiers: 'COUNT(ID)'
python 代码是一个简单的 callproc 并使用 next(results).fetchall()
获取结果,它返回保存过程的结果。
在我进行了一些搜索后,我了解到它使用 namedtuple
,但我不知道如何从中获得结果。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)