代码之家  ›  专栏  ›  技术社区  ›  Sachith Muhandiram

如何在mnesia表中添加列

  •  0
  • Sachith Muhandiram  · 技术社区  · 6 年前

    我正在尝试向现有的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 从中检索数据时的记录名称 桌子

    1 回复  |  直到 6 年前
        1
  •  2
  •   legoscia    6 年前

    表名和记录名不一定相同。你从一张叫 user 用户 记录,然后你改变了所有 记录到 users 记录。所以当你从表中读取时,它会返回 用户