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