Нельзя вызывать произвольные функции в совпадениях, но здесь у вас есть совпадение, которое можно использовать с :ets.foldl/3
:
:ets.foldl(fn
{<<"0X49", _ :: binary>>, "latlong"} = n, acc -> [n | acc]
_, acc -> acc
end, [], :named_table)
Создайте уникальный индекс для столбцов, что Вы хотите быть уникальными.
Например:
CREATE UNIQUE INDEX index_name ON table(col1, col2);
Посмотрите, что MySQL Create индексирует руководство.
Вы хотите использовать MySQL CONSTRAINT
синтаксис при составлении таблицы (или изменяют существующую таблицу).
В дополнение к тому, что говорит gcores, я хотел бы добавить, что Ваше альтернативное предложение, проверки на прикладном уровне, является плохой вещью сделать. Что происходит, если два приложения пытаются вставить те же данные, и они чередованы? Они могут и проверить, видеть, что данные не там, и затем оба вставляют. При использовании уникального индекса существует два преимущества: