我正在尝试将新列添加到现有的mnesia表中。为此,我使用以下代码。
test()->
Transformer =
fun(X)->
#users{name = X#user.name,
age = X#user.age,
email = X#user.email,
year = 1990}
end,
{atomic, ok} = mnesia:transform_table(user, Transformer,record_info(fields, users),users).
我有两条记录
-record(user,{name,age,email}).
-record(users,{name,age,email,year}).
我的问题是,当我从user
表中获取值时,它是
{atomic,[{users,sachith,28,sachith@so,1990}]}
为什么我从users
表中检索数据时为什么得到user
记录名?
答案 0 :(得分:2)
表名和记录名不必相同。您从一个名为user
的表开始,该表保存着user
个记录,然后将所有user
个记录转换为users
个记录。因此,当您从表中读取数据时,它将返回users
条记录,因为这就是该表现在包含的内容。