Tengo una tabla mnesia con tres campos, I, A y B, creado mediante el registroErlang: Mnesia: Actualización de un único valor de campo en una fila
-record(rec, {i, a,b}).
Ahora insertar una fila en la tabla como :
mnesia:transaction(fun() -> mnesia:write("T", #rec{i=1, a=2, b=3}, write) end).
Ahora qué hago si quiero actualizar esta fila, y cambiar sólo el valor de una a 10, dejando i y B con los mismos valores? ¿Hay algún equivalente SQL como "UPDATE T SET a=10 WHERE i=1
"?
Si hago algo como esto:
mnesia:transaction(fun() -> mnesia:write("T", #rec{i=1, a=10}, write) end)
La fila se almacena como:
{rec,1,10,undefined}
Tengo que vigilar la eficiencia, ¿me recomendaría usar QLC o el método que ha especificado anteriormente? – ErJab
Intenté esto, y por alguna razón no funciona. El valor no se está actualizando. – ErJab
@ErJab, echa un vistazo a dirty_update_counter, podría servir a sus necesidades. – Zed