首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在fts3中检索行in时获取null

尝试在fts3中检索行in时获取null
EN

Stack Overflow用户
提问于 2013-01-16 02:02:07
回答 1查看 300关注 0票数 0

在过去的5-6个小时里,我被困在这个问题上。什么都不起作用。我想要获得与用户输入的查询相对应的密钥,以便用户可以修改与该特定id相对应的数据。

这段代码中有什么错误吗??

代码语言:javascript
复制
db.execSQL("CREATE VIRTUAL TABLE " + DATABASE_TABLE
                + " USING fts3 (" + KEY_ID
                + " INTEGER PRIMARY KEY ASC, " + KEY_NAME
                + " TEXT NOT NULL, " + KEY_ADDRESS
                + " TEXT NOT NULL, " + KEY_CONTACT + " TEXT NOT NULL, "
                + KEY_BALANCE + " DOUBLE);");

我要将这个KEY_ID列设为空。我想要获得这个id (使用cursor元素,就像我们使用cursor.getString(int)一样),让用户修改与所选id相对应的值,所以我需要从某个地方获取id。有没有办法调用fts3表的默认ID而不是使用别名?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-16 02:08:04

有没有办法调用fts3表的默认ID而不是使用别名?

问题是,适配器中使用的游标必须有一个名为_id的整数主键列,但_id不是SQLite可识别的别名。所以不,你需要使用你自己的别名。您可以使用docid as _idrowid as _id等。

添加

由于我不相信您可以在CREATE VIRTUAL TABLE语句中以任何方式更改docid INTEGER PRIMARY KEY列,因此您需要在SELECT语句中应用别名,例如:

代码语言:javascript
复制
SELECT docid as _id, bar FROM Foo WHERE bar MATCH 'John';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14343918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档