【问题标题】:Erlang starting with Mnesia, write IssuesErlang从Mnesia开始,写Issue
【发布时间】:2013-05-20 01:31:19
【问题描述】:

我在 Mnesia 数据库中插入数据时遇到了一些问题。

这是代码:(模式已经存在)

-module(mnesia_test).

-record(messages_queue, {id, ack, order, message}).

-export([start/0, add/0]).

start() ->
    mnesia:start(),
    mnesia:delete_table(messages_queue),
    mnesia:create_table(messages_queue, [{attributes, record_info(fields, messages_queue)}, {type, bag}, {record_name, messages_queue}]).

add() ->
    M = #messages_queue{id = "11223344", ack = [0, 5, 32, 91, 23, 106], order= 0, message="Hello world !"},
    mnesia:write(M).

写获取被中止:

Erlang R16B (erts-5.10.1) [source] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.1  (abort with ^G)
1> mnesia_test:start().
{atomic,ok}
2> mnesia_test:add().
** exception exit: {aborted,no_transaction}
     in function  mnesia:abort/1 (mnesia.erl, line 309)

【问题讨论】:

标签: erlang mnesia


【解决方案1】:

我明白了……

写入必须包含在 mnesia:transaction() 中

【讨论】:

    猜你喜欢
    • 2017-03-25
    • 2013-02-11
    • 2017-12-10
    • 2015-01-17
    • 2016-09-18
    • 2012-01-10
    • 2014-06-06
    • 1970-01-01
    • 2019-06-05
    相关资源
    最近更新 更多