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).