Java SQLite更新查询不工作

Java SQLite更新查询不工作,java,android,sqlite,Java,Android,Sqlite,经过几个小时(基本上是一整天)的盘旋、整理和诸如此类的工作,我很困惑为什么我在SQLite中的UPDATE语句不想工作。 它涉及以下问题: sql.Update("UPDATE SAVEGAME SET _id = \"save\" WHERE _id = null"); sql.Update("UPDATE SAVEGAME SET WORLD_ONE = \""+finishedLevels+"\" WHERE _id = 'save'"); 我也试过了 sql.Update("UPDAT

经过几个小时(基本上是一整天)的盘旋、整理和诸如此类的工作,我很困惑为什么我在SQLite中的UPDATE语句不想工作。 它涉及以下问题:

sql.Update("UPDATE SAVEGAME SET _id = \"save\" WHERE _id = null");
sql.Update("UPDATE SAVEGAME SET WORLD_ONE = \""+finishedLevels+"\" WHERE _id = 'save'");
我也试过了

sql.Update("UPDATE SAVEGAME SET _id = 'save' WHERE _id = null");
sql.Update("UPDATE SAVEGAME SET WORLD_ONE = '"+finishedLevels+"' WHERE _id = 'save'");
但是没有用

我调用的函数是:

public void Update(String query){
    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL(query);

    db.close();
}
调试清楚地表明函数正在被调用和逐步执行,但拒绝工作。 我调用的任何其他SQL函数(例如创建新表等)都有其db.close()调用

我还尝试过查看UDPATE语句可以工作的不同项目,但我找不到任何差异(我的SQLLib类的实例、函数调用都是相同的,等等) 调用UPDATE语句似乎很简单,但它在某个地方有一个错误

这是哪里的错?因为我现在完全不知所措


-Zubaja

当您需要使用
为空时,您正在使用
=null

更改:

sql.Update("UPDATE SAVEGAME SET _id = \"save\" WHERE _id = null");
为此:

sql.Update("UPDATE SAVEGAME SET _id = \"save\" WHERE _id is null");
                                                        ^^^^

此外,您可能需要检查如何创建SQL字符串—插入这样的变量会使代码容易受到SQL注入攻击。

表的结构是什么?实际问题是什么?“拒绝工作”可能有点含糊。相反,请这样做“\u id=null”这样做“\u id为null”@Karakuri该表名为SAVEGAME,有三列,每个列后面都有一个数字表示该值world@HannoBinder很抱歉我的意思是:更新查询运行,但不更新值。我在路上下班回家,所以我会在大约一个小时左右更新我的发现。谢谢你的回复。这正是问题所在。如果你认为问题不在你认为的地方,那么这是你很快就会忽略的一件小事。非常感谢!