我的SQLite版本不支持该IF EXISTS运算符。我如何删除一个可能存在或可能不存在的表,而不会遇到一个错误?
IF EXISTS
我现在无法在实时应用程序上更新版本,因此无法使用支持的SQLite版本IF EXISTS。
在官方文件说,使用IF存在,所以我怀疑你的最佳方案就是升级。
如果不能,则需要查看是否可以对表执行一些琐碎的操作,无论该表是否为空,该操作都会成功。如果成功,则应删除该表,如果失败,则该表已消失。可以尝试的一种操作示例如下:
SELECT COUNT(*) FROM theTable;
请注意,您需要在语言级别上从中捕获可能的错误,并且可能需要将整个批次(探针,错误陷阱,删除表)包装在事务中。当然,如果您要进行错误处理,另一种方法是只删除表并处理错误。