【问题标题】:How to add a column to mnesia table如何在 mnesia 表中添加一列
【发布时间】:2019-04-10 14:37:46
【问题描述】:

我正在尝试将新列添加到现有的 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}]}

为什么我从user 表中检索数据时得到users 记录名称?

【问题讨论】:

    标签: erlang mnesia erl


    【解决方案1】:

    表名和记录名不一定相同。您从一个名为user 的表开始,其中包含user 记录,然后您将所有user 记录转换为users 记录。因此,当您从表中读取时,它将返回 users 记录,因为这就是表现在包含的内容。

    【讨论】:

      猜你喜欢
      • 2019-04-14
      • 1970-01-01
      • 2011-05-24
      • 2013-07-03
      • 2010-10-21
      • 1970-01-01
      • 2012-03-22
      • 2013-05-23
      • 1970-01-01
      相关资源
      最近更新 更多