Добрый день.
Есть таблица в которую нужно вставлять данные с проверкой уникальности.
Поставщик - Название - Бренд - Код - Артикул
Нужно вставлять записи с проверкой уникальности, но комбинаций уникальности может быть 4 вида:
Поставщик + Артикул
Поставщик + Бренд + Код
Поставщик + Код
Поставщик + Название
Повесить 4 уникальных индекса нельзя, т.к к примеру могут быть такие данные:
Поставщик - Артикул - Название
Ситилинк+ 32542 + Телевизор
Ситилинк+ 32696 + Телевизор
т.е по артикулу будет уникальность, но по названию будет конфликт, а обе строки надо записать в таблицу т.к они фактически разные, по это причине
ON DUPLICATE KEY UPDATE
не подойдет.
Хочу сделать вставку данных через прeпредварительный
SELECT COUNT(*) FROM table WHERE `Поставщик ` = 1 AND `Артикул ` IS NULL AND `Название` = 'Телевизор' INTO @Var1;
Пробовал:
if (@Var1= 0) (INSERT INTO table SET column = 1)
else (UPDATE table SET column = 1 WHERE id = 2)
и
CASE WHEN @Var1 = 0 THEN (INSERT INTO table SET column = 1)
ELSE (UPDATE table SET column = 1 WHERE id = 2)
END
Подскажите как делать вставку записи с предварительной проверкой условия.