SqlDelight/SQLite如何为更新/插入/删除返回类型

bq3bfh9z  于 2023-10-23  发布在  SQLite
关注(0)|答案(1)|浏览(116)

如何在使用delete/update/insert时返回结果?我在问题上看到建议使用返回,但它不起作用。
2.0.0版本

CREATE TABLE folder (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL
);
insertFolder:
INSERT INTO folder
VALUES (?,?)
RETURNING *;
Compiling with dialect app.cash.sqldelight.dialects.sqlite_3_18.SqliteDialect

xxx.sq: (21, 0): ',' expected, got 'RETURNING'
19    INSERT INTO folder
20    VALUES (?,?)
21    RETURNING *
      ^^^^^^^^^

Execution failed for task ':app:generateDebugDatabaseInterface'.
> A failure occurred while executing app.cash.sqldelight.gradle.SqlDelightTask$GenerateInterfaces
   > Generation failed; see the generator error output for details.
ecbunoof

ecbunoof1#

如何在使用delete/update/insert时返回结果?
对于框架提供的SQLite,这通常不会是一个选项,多年来。
我在问题上看到建议使用返回,但它不起作用。
RETURNING是新的。作为the SQLite documentation notes,该关键字是“版本3.35.0(2021-03-12)"的新关键字。根据this SO answer的说法,第一个发布足够新的SQLite的Android版本是Android 14,该版本将于2023年发布。
所以,除非你的minSdkVersion是34或更高,否则你需要package a copy of SQLite with your app并使用它。这将增加您的应用程序大小。

相关问题