使用下面的方法,我尝试创建了一个表,
mnesia_init() ->
mnesia:create_schema([node()]),
case mnesia:start() of
ok ->
try
mnesia:table_info(type, bill_cdr_file_counter)
catch
exit:_ ->
mnesia:create_table(bill_cdr_file_counter,[{attributes,[key,value]},
{disc_copies,[node()]}])
end;
{error, Reason} ->
error_logger:error_report(["Mnesia start error: ", Reason]),
{error, Reason}
end.我使用的记录如下:
-record(bill_cdr_file_counter, {key,value}).但作为回应,我得到了这个,
{aborted,{bad_type,bill_cdr_file_counter,{disc_copies,log@mbsmsc1}}}发布于 2017-06-03 22:02:22
你的代码对我来说工作得很好。第一次运行它时,我得到了返回值:
{atomic,ok}第二次运行时,我得到了返回值:
{aborted,{already_exists,bill_cdr_file_counter}}当我这样做的时候:
4> observer:start() 然后单击Table View选项卡,然后在菜单栏中选择View>Mnesia Tables,我看到列出了bill_cdr_file_counter表。我使用的是Erlang 19.2。您使用的是哪个版本的Erlang?
我也试过了:
3> node().
nonode@nohost或者,如果我像这样开始erl:
$ erl -sname gandalf
1> node().
gandalf@MyMBP您的错误消息显示node()正在返回:
log@mbsmsc1这是我看到的你的代码和我运行的代码之间唯一的区别。
https://stackoverflow.com/questions/44343402
复制相似问题