是否可以在SQLite查询中使用返回的列值作为表名?
发布时间:2020-12-12 19:13:13 所属栏目:百科 来源:网络整理
导读:我想编写一个查询,检查SQLite数据库中的所有表以获取一条信息,以简化事件后诊断(性能无关紧要). 我希望编写一个查询,使用the sqlite_master table获取表列表,然后在一个查询中查询它们: SELECT Name FROM sqlite_masterWHERE Type = 'table' AND ( SELECT c
我想编写一个查询,检查SQLite数据库中的所有表以获取一条信息,以简化事件后诊断(性能无关紧要).
我希望编写一个查询,使用the sqlite_master table获取表列表,然后在一个查询中查询它们: SELECT Name FROM sqlite_master WHERE Type = 'table' AND ( SELECT count(*) FROM Name WHERE conditions ) > 0; 但是,当尝试执行此样式的查询时,我收到错误没有这样的表:名称.是否有允许这种情况的替代语法,或者根本不支持? SQLite被设计为嵌入式数据库,即与“真实”编程语言一起使用.为了能够使用这样的动态结构,你必须超出SQLite本身: cursor.execute("SELECT name FROM sqlite_master") rows = cursor.fetchall() for row in rows: sql = "SELECT ... FROM {} WHERE ...".format(row[0]) cursor.execute(sql) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |