Исходя из разговора, который мы провели в комментариях, кажется, что вам лучше всего справиться с этой функциональностью на уровне базы данных, добавив уникальный запрет на все три столбца (электронная почта, itemName, заметки).При таком решении база данных не разрешит более одной строки с одинаковым значением для всех трех столбцов.
Команда mysql будет иметь следующий вид:
alter table <your_table> add unique (`email`, `itemName`, `notes`);
// Will be inserted/updated no problem
foo@bar.com, itemName1, notes1
foo@bar.com, itemName1, notes2
foo@bar.com, itemName2, notes1
// An error will be returned because this row already exists
foo@bar.com, itemName1, notes2
Единственный недостаток - запись вбаза данных будет стоить дороже, так как все три столбца (особенно примечания) должны будут учитываться для ограничения уникальности.
Другой вариант - загрузить все строки, соответствующие адресу электронной почты, а затем пройтись по каждой строке в поисках совпадений сИмя предмета и заметки, которые будут еще более болезненными.