我有一个函数,每当新数据库连接到连接时,它都会尝试删除 View 并重建它。问题(好吧,更令人烦恼)是它第一次尝试删除不存在的 View 。由于存在与 View 同名的永久表,我收到 sqlite 错误:使用 DROP TABLE 删除表相册
。因此,我想在尝试删除 View 之前查询数据库以检查 View 是否存在。
注意:当前查询已使用DROP VIEW IF EXISTS
,但这并不能解决问题。另外,我检查了 sqlite_master
并且似乎没有任何对临时表/ View 的引用。
最佳答案
main
和 temp
数据库是不同的,因此您可以只使用数据库名称:
CREATE TABLE Albums(x);
CREATE TEMPORARY VIEW Albums AS SELECT * FROM Albums;
DROP VIEW IF EXISTS temp.Albums;
DROP VIEW IF EXISTS temp.Albums;
关于c++ - 如何在 SQLite 中列出临时表/ View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17055091/