我正在利用MySQLdb从我的代码中查询MySQL数据库,但是,当我运行SHOW TABLES
时,它仅列出数据库中2个表中的1个。
我回来了
('connections',)
当我期望
('connections','logs')
我只是在使用self.cursor.execute("SHOW TABLES")
来获取列表。
答案 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时,我只会看到返回的连接。
我现在改写了这种方法,以减少愚蠢。