SQLDelight FTS5插入麻烦

SQLDelight FTS5 insert trouble

我在DBBrowser中创建了一个table:

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

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

在sqldelight .sq文件中是这个table的声明:

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

我需要显式声明等级,因为我想在 table 中的 SELECT 时为其应用 HAVING MIN(rank) (否则它无法编译),但是当我尝试插入值时在 table 中:

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

我收到一个错误:

Unexpected number of values being inserted. found: 2 expected: 3

如果我这样做:

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

我收到异常:

SQLiteException - table Students has 2 columns but 3 values were supplied (code 1): , while compiling: INSERT INTO Students VALUES (?,?,?)

如何执行插入?或者也许我可以在没有明确声明的情况下应用 HAVING MIN(rank)?

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

工作?