如何在SQLite中可靠地检查特定用户表是否存在?
我不是在询问像检查“select *”语句是否返回错误之类的不可靠方法(这是一个好主意吗?)。
原因如下:
在我的程序中,如果某些表不存在,我需要创建并填充它们。
如果这些表已经存在,我需要更新一些表。
是否应该采取其他方式来表示所涉及的表已经被创建 - 比如,在我的程序初始化/设置文件中创建/放置/设置某个标志或者类似操作?
还是我的方法有道理?
如何在SQLite中可靠地检查特定用户表是否存在?
我不是在询问像检查“select *”语句是否返回错误之类的不可靠方法(这是一个好主意吗?)。
原因如下:
在我的程序中,如果某些表不存在,我需要创建并填充它们。
如果这些表已经存在,我需要更新一些表。
是否应该采取其他方式来表示所涉及的表已经被创建 - 比如,在我的程序初始化/设置文件中创建/放置/设置某个标志或者类似操作?
还是我的方法有道理?
SELECT EXISTS(SELECT 1 FROM sqlite_master WHERE type="table" AND name="table_name");
似乎将结果缩减为布尔值结果(只能是0或1,没有其他值) - undefined