Как проверить на уникальность данные перед добавлением в базу?
Хочу занести данные из чата в MySql. Перед вставкой данных проверю наличие записей по двум колонкам и потом вставлять в БД.
IF (SELECT COUNT(*) FROM chat WHERE chat.nickname = 'МойНик' and chat.datecreated= '2021-01-17T07:00:32+00:00' = 0)
INSERT ...
END
Всё работает, но хочется более элегантное решение. Допустим при вставке игнорировать дубли по нескольким колонкам. Что то типа IGNORE. Чтобы я каждый раз не проверял есть ли данные в БД. Данных много, поэтому это тормозит работу
Ответы (1 шт):
Автор решения: Radzhab
→ Ссылка
Надо было создать уникальный индекс по двум полям
create unique index tab_ind1 on tab(nickname, datecreated)
