微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLDelight FTS5插入麻烦

如何解决SQLDelight FTS5插入麻烦

我在DBbrowser中创建了一个表:

CREATE VIRTUAL TABLE IF NOT EXISTS Students USING FTS5
(
    GroupId          UNINDEXED,StudentName
);

并向其中插入值。之后,我将带有此表的数据库添加到我的项目中。

它是sqldelight .sq文件中此表的声明:

CREATE VIRTUAL TABLE IF NOT EXISTS Students USING FTS5
(
    GroupId          INTEGER AS Int,StudentName      TEXT,rank             REAL
);

我需要显式声明等级,因为当我从表中进行SELECT时,我想为其应用HAVING MIN(rank),否则当我尝试像这样在表中插入值时:

insert:
INSERT INTO Students VALUES (?,?);

我收到一个错误

插入的值数量超出预期。找到:2个预期:3

如果我这样做:

insert:
INSERT INTO ResortKeywordEntity VALUES (?,?,?);

我收到一个例外:

sqliteException-表Students有2列,但提供了3个值(代码1):,而在编译时:INSERT INTO Students VALUES(?,?,?)

如何执行插入?还是我可以在没有显式声明的情况下应用HAVING MIN(rank)?

解决方法

确实

insert:
INSERT INTO Students(GroupId,StudentName) VALUES (?,?);

工作吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。