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 (?,?);
工作?
我在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 (?,?);
工作?