如何在mnesia表中创建一个复合键(两个属性组合的键)。据我所知,我们用来创建mnesia表的记录中的第一个元素是主键。请用简单示例表示< / p>
答案 0 :(得分:2)
例如,使用此记录时
-record(cuser, {id,login_id,email}).
创建mnesia表,然后主键为id
,但是当您将此重新编码更改为:
-record(cuser, {{id,login_id},email}).
,
然后主键是{id,login_id}
。
您可以使用 元组 作为主键。
答案 1 :(得分:0)
@ blackmamba的答案在OTP 18中对我不起作用。我收到了bad record field
。
但是,从阅读http://osdir.com/ml/erlang-questions-programming/1999-10/msg00069.html开始,我发现以下情况有效:
-record(state, {idkey, email}).
-record(idkey, {id,login_id}).