Android的SQLite数据库更新方法
问题描述:
也许这个问题已经回答了,但我不能找到它,所以:如果WHERE子句不存在Android的SQLite数据库更新方法
在SQLiteDatabase更新方法,
int android.database.sqlite.SQLiteDatabase.update(String table, ContentValues values, String whereClause, String[] whereArgs)
会发生什么事?我的意思是不会返回任何一行, 它会执行正常的插入,还是什么都不做?
编辑
我觉得我没有正确地解释它。
假设这个SQL:
CREATE TABLE weight (weight REAL, date TEXT);
INSERT INTO weight VALUES (78.5,"10/03/2013");
INSERT INTO weight VALUES (68.5,"09/03/2013");
INSERT INTO weight VALUES (79.5,"08/03/2013");
现在假设这个代码:
ContentValues values = new ContentValues();
values.put("weight", 90.2);
db.update("weight",values, "date = '15/03/2013'",null);
注意有是日期没有行= '15/03/2013' 那么,是什么在发生案件(这是我的意思)它会插入或什么都不做?
答
编辑:
它会检查是否有与日行= '15/03/2013,如果没有行,然后 没有行会影响和更新方法将返回0
如果我理解你的问题, 其中claus是可选的,如果你不提供where子句它将更新表中的所有行,它可能为空。
这只是一个SQL的东西,就像你没有提供条件它会更新所有行一样。 文档明确说,
参数
whereClause可选更新时WHERE子句适用。传递null将更新所有行。
答
,如果你不使用WHERE
条款all the records on the table will be affected
whereClause可选更新时WHERE子句适用。传递null将更新所有行。
谢谢@Pragnani我没有注意到。 – 2013-03-17 12:41:48
它说在参数'whereClause'的文档中是正确的http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#update(java.lang.String,android.content.ContentValues,java .lang.String,java.lang.String []) – 2013-03-17 12:48:24
你现在应该删除这个问题 – 2013-03-17 12:48:40