Я пытаюсь обновить запись в mnesia с помощью mnesia: write (), но как мне убедиться, что эта функция будет вставлена, если запись не существует
Вы ненужно очень стараться, потому что это то, что mnesia: write (Table, Record, LockKind) делает:
Записывает запись Record в таблицу Tab.
Обратите внимание, что в описании не сказано:
Запись записывается в Tab только в том случае, если запись уже существует в Tab.
, котораяпротиворечил бы любой базе данных, которую я когда-либо использовал, и заставил бы меня задуматься, как вы сможете записать что-либо в таблицу.Вы начнете с пустой таблицы, и если write/3
не позволит вам записать запись в таблицу, если эта запись уже не была в таблице, то вы никогда не сможете добавить запись в пустую таблицу.
Для всех типов таблиц mnesia (набор, упорядоченный набор и сумка) write/3
запишет запись в таблицу.