首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用字段名调用python中的MySQL存储过程

问用字段名调用python中的MySQL存储过程
EN

Database Administration用户
提问于 2018-02-18 15:19:07
回答 1查看 1.7K关注 0票数 1

我试图调用返回单个行的MySQL存储过程,我可以使用cursor.callproc()和cursor.stored_results()返回值,但无法获得字段的名称'fileHash‘

如果我直接调用SP,就会得到如下结果:

代码语言:javascript
复制
mysql> call GetAllFileHashesForDirectory('/myroot/');
+------------------+
| fileHash         |
+------------------+
| testa            |
| testb            |
+------------------+
2 rows in set (0.00 sec)

但是,当我尝试获取字段名时,我得到的是以下内容,而不是“fileHash”:

代码语言:javascript
复制
(u'@_GetAllFileHashesForDirectory_arg1',)

我用来获取值的python代码是:

代码语言:javascript
复制
self.__mySQLCursor.column_names

是否需要在存储过程中指定名称?我真的很困惑。

EN

回答 1

Database Administration用户

发布于 2020-04-22 04:00:23

很抱歉给出了很晚的答案,但我真的不认为选择的答案是好的建议,python模块已经有了一种解决这个问题的方法,不需要在ddb中做奇怪的疯狂。为了这个,就这么做:

代码语言:javascript
复制
cursor.callproc('sql_procedure', arguments)
for colid in cursor.stored_results():
    columnsProperties = (colid.description)
    print ([column[0] for column in columnsProperties]) 

在colid.description中获取列的所有属性,第一个属性是文件名,这就是您所要追求的。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/198216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档