我有三個字段,I,a和b的函數mnesia表更新單個字段值,創建使用記錄二郎:Mnesia的:在一排
-record(rec, {i, a,b}).
現在我將行插入表作爲:
mnesia:transaction(fun() -> mnesia:write("T", #rec{i=1, a=2, b=3}, write) end).
現在,我該怎麼辦,如果我想更新此行,改變的僅值10,同時留下我和b具有相同的價值觀?有沒有像「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