Erlang中文手册(Erldoc.com)  »  ets  »  insert/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

ets:insert/2

向 ETS 表插入数据

用法:

insert(Tab, ObjectOrObjects) -> true

向 ETS 表 Tab 插入一个对象数据或者一个对象列表数据 ObjectOrObjects。

如果表是一个 set 类型的表,并且插入的对象数据的键在表里可以匹配得到数据,那么旧的对象数据将会被替换。

如果表是一个 ordered_set 类型的表,并且在表里有跟插入的对象数据有相同的键,那么旧的对象数据将会被替换。

如果插入的对象列表数据里存在多个相同键的情况,并且表是一个 set 类型的表,那么只有一个对象数据可以被插入,不过不确定是哪一个。对于 ordered_set 类型的表,如果键一样时,操作的情况像上面一样。

整个操作都保持着原子性和独立性,即使有多个对象数据插入的情况。

ets:new(test_ets_new, [set, named_table]),
ets:insert(test_ets_new, {a, 1}).
ets:new(test_ets_new, [set, named_table]),
ets:insert(test_ets_new, [{a, 1}, {b, 2}]).
TableId = ets:new(test_ets_new, [set, named_table]),
ets:insert(TableId, [{a, 1}]).
TableId = ets:new(test_ets_new, [named_table, ordered_set]),
[ets:insert(TableId, {N, erlang:now()}) || N <- lists:seq(1, 10)],
ets:tab2list(TableId).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9