首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Erlang从Mnesia开始,编写问题

Erlang从Mnesia开始,编写问题
EN

Stack Overflow用户
提问于 2013-05-24 20:34:19
回答 1查看 290关注 0票数 0

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

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

代码语言:javascript
运行
复制
-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).

写入get已中止:

代码语言:javascript
运行
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-24 21:20:52

我知道了..。

写操作必须包装在一个mnesia中:transaction()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16735112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档