行における単一フィールドの値を更新私は三つのフィールド、I、AとBとのmnesiaテーブルを持っているが、今のように、テーブルに行を挿入レコードをアーラン:Mnesia:
-record(rec, {i, a,b}).
を使用して作成しました:同じ値でiとBを残したまま
mnesia:transaction(fun() -> mnesia:write("T", #rec{i=1, a=2, b=3}, write) end).
は今、私はこの行を更新したい場合、私は何をしますか、と10の値のみを変更しますか? "UPDATE T SET a=10 WHERE i=1
"のようなSQLに相当するものはありますか?
mnesia:transaction(fun() -> mnesia:write("T", #rec{i=1, a=10}, write) end)
行は次のように保存されています:私はこのような何か行うと
私はあなたが「行」を読む必要があると考えてい
{rec,1,10,undefined}
私は効率性を考えなければならないので、上記のQLCまたは方法を使用することをお勧めしますか? – ErJab
私はこれを試しましたが、何らかの理由で動作しません。値は更新されていません。 – ErJab
@ErJab、dirty_update_counterをチェックすると、あなたのニーズに合うかもしれません。 – Zed