gpt4 book ai didi

android - 需要更新 SQLite 中某列的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:31 25 4
gpt4 key购买 nike

我需要为列中的所有行取反列的值。我正在尝试使用以下查询来这样做,但它没有更新任何行:

sqliteDatabase.rawQuery("UPDATE "+ SQL_TABLE_NAME + " SET "+ COL_1 +" = " + "-"+COL_1  , null);

其中COL-1 = col_1,在表中为整型。

--年轻男同胞

最佳答案

您可以将列乘以 -1

 Update SQL_TABLE_NAME Set COL_1 = COL_1 * -1

请注意,您的查询格式适合我;

 Update tPerson Set Age = -Age

如果我是你,我会创建一个字符串并将你的查询设置为该字符串,这样你就可以检查它是否按照你的预期进行了设置:

 String sql = "UPDATE "+ SQL_TABLE_NAME + " SET "+ COL_1 +" = " + "-" + COL_1;
sqliteDatabase.rawQuery(sql, null); //breakpoint here, and check sql var

您的 SQL_TABLE_NAME 中是否有空格?尝试将其括在方括号中,也许与您的列名称相同。

编辑:

我建议将主键更新为负数,但要实现此目的,您可以执行以下操作:

 SET IDENTITY_INSERT Person ON

Insert Into Person ([Id], [Name], [Age])
Select -[Id], [Name], [Age] From Person

SET IDENTITY_INSERT Person OFF

(但这会复制您的表,您可能想将数据推送到临时表中)——但我认为这是一个糟糕的解决方案。我会尝试找到一种方法来重构您的表架构,使其不是主键。

关于android - 需要更新 SQLite 中某列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5416836/

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