> Erlang中文手册 > insert/2 向 ETS 表插入数据

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