如何在SQLite中检查表是否存在?

1106

如何在SQLite中可靠地检查特定用户表是否存在?

我不是在询问像检查“select *”语句是否返回错误之类的不可靠方法(这是一个好主意吗?)。

原因如下:

在我的程序中,如果某些表不存在,我需要创建并填充它们。

如果这些表已经存在,我需要更新一些表。

是否应该采取其他方式来表示所涉及的表已经被创建 - 比如,在我的程序初始化/设置文件中创建/放置/设置某个标志或者类似操作?

还是我的方法有道理?


Ravens的评论 SELECT EXISTS(SELECT 1 FROM sqlite_master WHERE type="table" AND name="table_name");似乎将结果缩减为布尔值结果(只能是0或1,没有其他值) - undefined
31个回答

-1

请了解C++中的“try-throw-catch”结构。大多数其他编程语言都有类似的结构来处理错误。


目前您的回答不够清晰。请编辑并添加更多细节,以帮助其他人了解它如何回答所提出的问题。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接