- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个名称与其记录名称不同的表。下面是代码片段%%----记录定义--------------------
-记录(对象,{键,值})。
%% ---- 创建表 -------------------------------------
{atomic,ok} = mnesia:create_table(mytable,[
{类型,设置},
{frag_properties,[
{node_pool,[node()]},
{n_fragments,4},
{n_disc_copies,1}]},
{属性,记录信息(字段,对象)}]
),%% ------- 插入 --------------------------------insert()->
F = 乐趣() ->
R = #对象{
key = "MyKey",
值(value)=“值(value)”
},
mnesia:write(mytable,R,write)
结尾,
mnesia:activity(transaction,F,[],mnesia_frag)。
这样做时,mnesia 大声喊叫。表创建的很好,可以在tv:start().
查看或在 mnesia:info().
.这是我在 shell 上看到的错误。** 异常退出:{aborted,
{坏类型,
#目的{
key = "MyKey",
值(value)=“值(value)”}}}
在函数 mnesia:wrap_trans/6 (mnesia.erl, line 395)
现在,通常,我认为当创建表时使用的记录定义与插入表中的记录结构不同时,会出现这样的错误。我想知道这只是我使用的函数的问题,即:mnesia:write/3
当表名与记录名不同时,这会有所帮助。
我曾尝试删除架构并重新创建它,但都是徒劳的。当我不使用时 mnesia:write/3
,记录被正确插入到表中。但是我的应用程序需求是这样的,我将创建几个不同的表,但它们存储相同的记录结构/定义。我想要不同的 table ,但他们的 record_info
定义是一样的。在文档的某个地方,我读到这是非常可能的。我正在运行:Erlang otp R15B, mnesia-4.6 , windows 7 enterprise, 32-bit operating system, Dell laptop, intel core i5, 4GB RAM
我正在处理的所有其他 erlang 项目都很好,他们没有像这个项目那样奇怪/意外的行为。有什么建议吗?
最佳答案
您必须使用 {record_name, object}
创建表时的属性。例如
{atomic,ok} = mnesia:create_table(mytable,[
{type,set},
{frag_properties,[
{node_pool,[node()]},
{n_fragments,4},
{n_disc_copies,1}]},
{record_name, object},
{attributes,record_info(fields,object)}]
),
{record_name, Name}, where Name must be an atom. All records, stored in the table, must have this name as the first element. It defaults to the same name as the name of the table.
关于transactions - Mnesia 异常退出 : {aborted, {bad_type, Record}},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621808/
对于我的生活,我无法弄清楚这一点。我正在尝试创建 mnesia 表,但不断收到这个奇怪的错误。 这是我的命令: ok = mnesia:create_schema(Nodes), rpc:multic
所以我得到{aborted,{bad_type,link,disc_copies, '[email protected]'}} (它由我的 init_db/0 函数返回): -record(link,
我创建了一个名称与其记录名称不同的表。下面是代码片段%%----记录定义-------------------- -记录(对象,{键,值})。 %% ---- 创建表 ----------------
我是一名优秀的程序员,十分优秀!