我正在使用MySQLdb从我的代码中查询我的MySQL数据库,然而,当我运行SHOW TABLES时,它只列出了我的数据库中的2个表中的1个。
我回来了
('connections',)当我在期待的时候
('connections','logs')我只是简单地使用self.cursor.execute("SHOW TABLES")来获取列表。
发布于 2019-01-05 06:58:55
好吧,正如“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时,我只会看到返回的连接。
我现在已经重写了这个方法,使其不那么愚蠢。
https://stackoverflow.com/questions/54047197
复制相似问题