对于我的生活,无法弄清楚这一点。我正在尝试创建 mnesia 表,但不断收到这个奇怪的错误。
这是我的命令:
ok = mnesia:create_schema(Nodes),
rpc:multicall(Nodes, application, start, [mnesia]),
{_, ok} = mnesia:create_table(rr_events,
[{attributes, record_info(fields, rr_events)},
{index, [#rr_events.key]},
{disc_copies, Nodes}]),
rpc:multicall(Nodes, application, stop, [mnesia]).
Run Code Online (Sandbox Code Playgroud)
这是我的记录:
-record(rr_events, {key, events=[]}).
Run Code Online (Sandbox Code Playgroud)
这是错误:
=PROGRESS REPORT==== 24-Mar-2016::21:53:42 ===
application: mnesia
started_at: nonode@nohost
** exception error: no match of right hand side value
{aborted,{bad_type,rr_events,{index,[2]}}}
in function rr:install/1 (c:/Users/zzzz/Projects/zzz/zzz/rr/rr/_build/default/lib/rr/src/rr.erl, line 13)
Run Code Online (Sandbox Code Playgroud)
知道这可能是什么吗?无法弄清楚这一点。
我最近遇到了这个问题。了解一些 Erlang声明如下:
请注意,您不需要在记录的第一个字段上放置索引,因为默认情况下已为您完成。
如果您只需要对记录的第一个元素进行索引,那么我建议省略{index, [record_name]}.
此外,虽然来自 LYSE 的段落暗示了这一点,但官方 Erlang 文档更进一步并指出:
指数。这是一个属性名称或整数列表,它指定 Mnesia 将在其上构建和维护额外索引表的元组位置。
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |