gpt4 book ai didi

android - 对于 "complex"UPDATE 语句,我应该使用哪种方法?

转载 作者:搜寻专家 更新时间:2023-11-01 09:04:05 26 4
gpt4 key购买 nike

我想执行这样的语句

UPDATE myTable SET myField = myField + 1

在 Android SQLite 数据库中。 (是的,我想增加所有记录的 myField。)

我的第一个想法是使用 execSQL ,但文档说:

execute a single SQL statement that is NOT a SELECT/INSERT/UPDATE/DELETE.

...

For UPDATE statements, use any of the following instead.
• update(String, ContentValues, String, String[])
• updateWithOnConflict(String, ContentValues, String, String[], int)

但是,据我所知,这种类型的更新不能用 SQLiteDatabase.update method 完成。 .我是否错过了使用 SQLiteDatabase.update 执行此操作的一些巧妙技巧,或者文档是否已损坏? (使用 execSQL 运行上述 SQL 工作正常,尽管文档另有说明。)

最佳答案

那个方法就好了。必须如此,因为底层 C API 不区分它们。任何不返回值的语句都可以使用 execSQL 执行。

update* 和 insert* 是合法的辅助方法,但如果文档没有声明必须将它们用于所有插入/更新,文档会做得更好因为它们根本不可能(曾经使用过 insert into table select ...?我一直这样做!)

关于android - 对于 "complex"UPDATE 语句,我应该使用哪种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13253584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com