【发布时间】:2019-06-23 23:43:54
【问题描述】:
我正在尝试使用 mnesia:write() 更新 mnesia 中的记录,但是如果记录不存在,我如何确保此函数将插入
记录如下所示: (Id, Node, Timestamp, Level, Msg)
请帮忙
【问题讨论】:
我正在尝试使用 mnesia:write() 更新 mnesia 中的记录,但是如果记录不存在,我如何确保此函数将插入
记录如下所示: (Id, Node, Timestamp, Level, Msg)
请帮忙
【问题讨论】:
我正在尝试使用 mnesia:write() 更新 mnesia 中的记录,但是如何 如果记录不存在,我是否确保此函数将插入
您不必非常努力,因为 mnesia:write(Table, Record, LockKind) 就是这样做的:
将记录Record写入表Tab。
请注意,描述中没有说:
仅当记录已存在于选项卡中时,记录才会写入选项卡。
这与我曾经使用过的任何数据库都不一致,并且让我想知道您如何能够将任何内容写入表。您将从一个空表开始,如果write/3 不允许您将记录写入表,除非该记录已在表中,那么您将永远无法向空表添加记录。
对于所有 mnesia 表类型(set、ordered set 和 bag),write/3 将向表中写入一条记录。
【讨论】: