我试图从Python中的MySQL数据库中获取所有行。如何从表中获取所有行,何时表名是可变的?Python - 使用动态表名称的MySQL SELECT查询
这是我写的一个方法,但是我在运行时遇到错误。
def get_rows(self, table_name):
cursor = self.conn.cursor()
query = ("SELECT * "
"FROM %s ")
try:
cursor.execute(query, (table_name,))
value = cursor.fetchall()
finally:
cursor.close()
return value
而且我收到以下错误:
AttributeError的:“NoneType”对象有没有属性“光标”
我相信我写的查询错误。任何人都可以帮我弄清楚这样做吗?我在WHERE cluase中尝试了类似的方式,它工作正常。
任何帮助将不胜感激!
谢谢!
我通过我的代码进行调试。在运行此方法之前,我还有一个数据库调用。在上次调用结束时,我有: 'cursor.close() self.conn.close()' 难道是因为这个原因? –
您可能应该在您的数据库管理类的__ del __方法内定义self.conn.close。 –
因此,在每次数据库调用之后,将调用__del__方法?或者在所有数据库操作执行后仅调用一次。对不起,如果我的问题很蠢。我其实是新手。 –