Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang &引用;坏的“U型”;尝试创建mnesia表时出错_Erlang_Mnesia - Fatal编程技术网

Erlang &引用;坏的“U型”;尝试创建mnesia表时出错

Erlang &引用;坏的“U型”;尝试创建mnesia表时出错,erlang,mnesia,Erlang,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, [#r

为了我的生命,我无法理解这一点。我正在尝试创建记忆表,但不断出现这个奇怪的错误

这是我的命令:

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]).
这是我的记录:

-record(rr_events, {key, events=[]}).
以下是错误:

=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)
知道这是什么吗?我想不出来。

呸!多亏了这一点,我得到了一个答案,引用:

此错误:

{中止,{bad_类型,wrud_记录,{index,[2]}}

如果使用记录的第一个元素对一个元素进行索引,则会发生 表,例如:

-记录(wrud_记录,{用户、日期、标签、备注、url})

mnesia:create_表(wrud_记录,[{index,[user]},{attributes, 记录信息(字段、工作记录)}])

,因此您应该将索引更改为另一个元素,如此处的备注:

mnesia:create_表(wrud_记录,[{index,[remark]},{attributes, 记录信息(字段、工作记录)}])

一切都会好起来的


我最近遇到了这个问题。声明如下:

请注意,您不需要在记录的第一个字段上放置索引,因为这在默认情况下是为您完成的

如果只需要对记录的第一个元素进行索引,那么我建议省略
{index,[record\u name]}

此外,虽然LYSE的一段建议进一步说明:

索引。这是一个属性名或整数列表,用于指定Mnesia要在其上构建和维护额外索引表的元组位置