如何使用android中的WHERE子句仅为一列更新Sqlite数据库

Vis*_*hnu 6 database sqlite android android-intent

可能重复:
Android中的SQLite如何更新特定行

是否可以使用where status更新一列的数据库这是我的表结构,我需要使用"id"更新"messagestatus"列.

db.execSQL("CREATE TABLE IF NOT EXISTS autosms(id INTEGER PRIMARY KEY AUTOINCREMENT ,phonenumber VARCHAR(15) ,message VARCHAR(5000) , year VARCHAR(10) , month VARCHAR(10) , date VARCHAR(10) , hour VARCHAR(10) , minute VARCHAR(10) , messagestatus VARCHAR(10))");
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但没有成功theres警告"没有这样的列发送"

public void update(int id)
{
        String s = "Send";
        db= SQLiteDatabase.openDatabase("data/data/com.example.schduled_messages/SMS_Schdule_Sample.db", null, SQLiteDatabase.CREATE_IF_NECESSARY);
        db.execSQL("UPDATE autosms SET messagestatus="+s+" WHERE id="+id+""); 
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢..

Sim*_*mon 16

字符串值必须用引号括起来:

"UPDATE autosms SET messagestatus='"+s+"' WHERE id="+id+""
Run Code Online (Sandbox Code Playgroud)

我在这里添加了一个引用 '"+s+"'

没有它,这是你的字符串扩展的方式:

"UPDATE autosms SET messagestatus=Send WHERE id=1234
Run Code Online (Sandbox Code Playgroud)

SQLite将尝试查找名为Send的列,并将messagestatus设置为其值.