Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在SQLite查询中使用返回的列值作为表名?_Sql_Sqlite - Fatal编程技术网

是否可以在SQLite查询中使用返回的列值作为表名?

是否可以在SQLite查询中使用返回的列值作为表名?,sql,sqlite,Sql,Sqlite,我想编写一个查询,检查SQLite数据库中的所有表以获取一条信息,从而简化事件后诊断(性能无关紧要) 我希望编写一个查询,用于获取表列表,然后在一个查询中查询它们: SELECT Name FROM sqlite_master WHERE Type = 'table' AND ( SELECT count(*) FROM Name WHERE conditions ) > 0; 但是,当尝试执行这种类型的查询时,我收到一个错误没有这样的表:Name。是否

我想编写一个查询,检查SQLite数据库中的所有表以获取一条信息,从而简化事件后诊断(性能无关紧要)

我希望编写一个查询,用于获取表列表,然后在一个查询中查询它们:

SELECT Name 
FROM sqlite_master
WHERE Type = 'table' AND (
    SELECT count(*)
    FROM Name
    WHERE conditions
    ) > 0;

但是,当尝试执行这种类型的查询时,我收到一个错误
没有这样的表:Name
。是否有其他语法允许这样做,或者根本不支持这样做?

SQLite被设计为嵌入式数据库,即与“真实”编程语言一起使用。 为了能够使用这种动态构造,您必须超越SQLite本身:

cursor.execute(“从sqlite_master中选择名称”)
rows=cursor.fetchall()
对于行中的行:
sql=“从{}其中选择…”。格式(第[0]行)
cursor.execute(sql)

SQLite被设计为嵌入式数据库,即与“真正的”编程语言一起使用。 为了能够使用这种动态构造,您必须超越SQLite本身:

cursor.execute(“从sqlite_master中选择名称”)
rows=cursor.fetchall()
对于行中的行:
sql=“从{}其中选择…”。格式(第[0]行)
cursor.execute(sql)

您只能使用动态SQL执行此操作。您只能使用动态SQL执行此操作。谢谢您的回答。这段代码片段正是我在此期间编写的,谢谢你的回答。这段代码片段正是我在此期间编写的。