1

たぶん、この質問は答えられましたが、私はそれを見つけることができません、それで:

SQLiteDatabase更新メソッドでは、

int android.database.sqlite.SQLiteDatabase.update(String table, ContentValues values, String whereClause, String[] whereArgs)

WHERE句が存在しない場合はどうなりますか?つまり、行を返さない、通常の挿入を実行する、または何もしないということですか?

編集

正しく説明しなかったと思います。

この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);

date = '15/03/2013'の行がないことに注意してください。その場合、(私が言いたかったのですが)挿入されるか、何も実行されません。

4

2 に答える 2

1

編集:

行がない場合は、日付= '15 / 03/2013の行があるかどうかがチェックされ、行は有効にならず、updateメソッドは0を返します。


Where句がオプションの場合、nullになる可能性があります。where句を指定しないと、テーブル内のすべての行が更新されます。

これは単なるSQLのことであり、where条件を指定しないと、すべての行が更新されます。ドキュメントには、

パラメーター

whereClauseは、更新時に適用するオプションのWHERE句です。nullを渡すと、すべての行が更新されます。

SqlliteDataの更新

于 2013-03-17T12:49:00.880 に答える
0

WHEREこの句を使用しない場合、テーブル上のすべてのレコードが影響を受けます

whereClauseは、更新時に適用するオプションのWHERE句です。nullを渡すと、すべての行が更新されます。

于 2013-03-17T12:49:59.203 に答える