首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQLdb无法列出所有表

问MySQLdb无法列出所有表
EN

Stack Overflow用户
提问于 2019-01-05 06:48:38
回答 1查看 14关注 0票数 0

我正在使用MySQLdb从我的代码中查询我的MySQL数据库,然而,当我运行SHOW TABLES时,它只列出了我的数据库中的2个表中的1个。

我回来了

代码语言:javascript
复制
('connections',)

当我在期待的时候

代码语言:javascript
复制
('connections','logs')

我只是简单地使用self.cursor.execute("SHOW TABLES")来获取列表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-05 06:58:55

好吧,正如“sods法则”所说的,只要我请求帮助,我就会自己想办法解决。对我来说,这是一个愚蠢的错误,它需要更多的上下文才能理解。

代码语言:javascript
复制
   for x in self.cursor:
        print(x)
        t = str(x).split("'")[1]
        z = str(x).split("'")[3]
        print(t, "\n", z)
        if t == constants.CONNECTIONS_TABLE:
            if z == constants.LOG_TABLE:
                break
            else:
                self.create_logs_table()
                break
        else:
            self.create_connections_table()
            break

我的方法是检查表是否存在,如果不存在,则创建它。好吧,我决定使用一个for循环来检查self.cursor.execute("SHOW TABLES")的结果。这将使得x只是SHOW TABLES的第一个结果,所以当我从循环内部输出x时,我只会看到返回的连接。

我现在已经重写了这个方法,使其不那么愚蠢。

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

https://stackoverflow.com/questions/54047197

复制
相关文章

相似问题

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