0

質問があります-データベース(SQLite)を更新して終了し、構造を分析して、新しいデータを追加する必要があるか、既存のポジションデータベースの値を変更する必要があるかを確認します。だから私は質問があります-行全体(つまり、すべてのセル(同じID)列)の値を一度に置き換えることは可能ですか、またはの値を置き換える可能性があります各列。

4

2 に答える 2

1

更新する行のIDがある場合は、SQLiteDatabase.update() (ここのドキュメント)を使用できます。

update()関数でわかるように、を使用ContentValuesして行を更新し、関数ので行IDを指定しwhereClauseます。の中にContentValues、通常の挿入の場合と同じように、列の新しい値を入れることができます。

ContentValues cv = new ContentValues();
cv.putString("row1Name","value1");
cv.putString("row2Name","value2");

など。更新呼び出しは次のようになります。

db.update("table_name", cv, "row_id=?", new String[]{""=rowId);
于 2012-09-18T07:59:57.683 に答える
0

テーブルの作成では、競合時の置換の一意性制約を使用できます。

行が制約と競合する場合、次のように置き換えられます。-

create table people (
    _id integer primary key autoincrmement,
    person_id integer,
    name text,
    age integer,
    unique (person_id) on conflict replace
)

これにより、すでに存在するperson_idで挿入しようとした場合に、行が置き換えられます。

ここでそれをチェックしてくださいhttp://www.sqlite.org/lang_conflict.html

于 2012-09-18T08:03:14.623 に答える