MySQLdb无法列出所有表

时间:2019-01-04 22:48:38

标签: python

我正在利用MySQLdb从我的代码中查询MySQL数据库,但是,当我运行SHOW TABLES时,它仅列出数据库中2个表中的1个。

我回来了

('connections',)

当我期望

('connections','logs')

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

1 个答案:

答案 0 :(得分:0)

好吧,就像“ sods法则”所规定的那样,只要我寻求帮助,我就会自己弄清楚。代表我的一个愚蠢的错误,它需要更多的上下文才能理解。

   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时,我只会看到返回的连接。

我现在改写了这种方法,以减少愚蠢。