CREATE VIRTUAL TABLE IF NOT EXISTS 的替代方案

发布于 2024-10-17 17:47:11 字数 312 浏览 3 评论 0原文

根据创建虚拟表语法如果不存在< /em> 子句不可用

当虚拟表已经存在而不使用 DROP TABLE IF EXISTS 时,我应该如何处理这种情况?

我想使用 rtree 和 fts 模块。

According to CREATE VIRTUAL TABLE syntax, IF NOT EXISTS clause is not available.

How should I handle the case when the virtual table already exists without using DROP TABLE IF EXISTS?

I want to use rtree and fts module.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゃ人海孤独症 2024-10-24 17:47:11

您可以使用

select DISTINCT tbl_name from sqlite_master where tbl_name = ?

然后将虚拟表名称绑定到您的语句并调用 sqlite3_step()。如果你得到 SQLITE_ROW 返回,那么你的表就存在。要确定它是虚拟表,请检查 rootpage 列是否为“0”。

You can use

select DISTINCT tbl_name from sqlite_master where tbl_name = ?

Then bind the virtual table name to your statement and call sqlite3_step(). If you get SQLITE_ROW back, then your table exists. To be certain that it is a virtual table, check the rootpage column for '0'.

淡淡離愁欲言轉身 2024-10-24 17:47:11

从 sqlite 3.7.11 开始支持这一点。

变更日志

This is now supported since sqlite 3.7.11.

changelog

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文