【问题标题】:SQLDelight FTS5 insert troubleSQLDelight FTS5 插入问题
【发布时间】:2020-09-29 05:08:03
【问题描述】:

我在 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
);

我需要显式声明排名,因为我想在从表中选择时为其应用 HAVING MIN(rank)(否则它不会编译),但是当我尝试在表中插入值时:

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

我收到一个错误:

插入的值数量异常。找到:2 预期:3

如果我这样做:

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

我收到一个异常:

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

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

【问题讨论】:

    标签: sqldelight


    【解决方案1】:

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

    工作?

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 2020-01-29
      • 2019-05-11
      • 1970-01-01
      • 2023-03-29
      • 2021-11-28
      • 1970-01-01
      相关资源
      最近更新 更多