gpt4 book ai didi

erlang - Mnesia 写入失败

转载 作者:行者123 更新时间:2023-12-04 23:11:29 24 4
gpt4 key购买 nike

我定义了一个名为 log 的记录.我想创建一个名称为 log_table 的 mnesia 表.当我尝试将记录写入表时,我得到 bad_type错误如下:

(node1@kitt)4> mnesia:create_table(log_table, [{ram_copies, [node()]}, 
{attributes, record_info(fields, log)}]).
{atomic,ok}

(node1@kitt)5> mnesia:dirty_write(log_table, #log{id="hebelek"}).
** exception exit: {aborted,{bad_type,#log{id = "hebelek"}}}
in function mnesia:abort/1

我错过了什么?

最佳答案

默认情况下,记录名称假定为与表名称相同。

要解决此问题,您应该将表命名为 log或附加选项 {record_name, log}在您的表格选项中(正如您在修复中所做的那样)。

让你的记录和表命名为相同的东西通常是一个好习惯,它使代码更易于阅读和调试。然后您也可以使用 mnesia:write/1仅以您的记录作为唯一参数的函数。然后 Mnesia 通过查看名称来确定将记录放入哪个表。

关于erlang - Mnesia 写入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/126109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com