Czy istnieje sposób sprawdzenia, czy zapytanie wewnątrz wyzwalacza MySQL zwraca pusty zestaw?

Po wstawieniu wiersza do tabeli A, wyzwalacz musi wstawić z niego niektóre wartości do innej tabeli B, ale tylko wtedy, gdy tabela B nie zawiera już wiersza z taką kombinacją wartości. Oto co wymyśliłem:

CREATE TRIGGER upd_manufactorer_in_category AFTER INSERT ON product
FOR EACH ROW 
BEGIN
  DECLARE id_category INT; 
  DECLARE id_manufacturer INT;
  DECLARE id_category_test INT; 

  SET id_category=NEW.id_category;
  SET id_manufacturer=NEW.id_manufacturer;

  SET id_category_test=(SELECT 'id_category'
                FROM category_has_manufacturer
                WHERE 'id_category'=id_category
                AND 'id_manufacturer'=id_manufacturer);

  IF id_category_test IS NULL
  THEN
    INSERT INTO category_has_manufacturer
    SET category_has_manufacturer.id_category = id_category, 
    category_has_manufacturer.id_manufacturer = id_manufacturer;
  END IF;
END

I działa, wstawia wiersz do tabeli. Ale to nie sprawdza, czy istniało wcześniej, więc mam wiele duplikatów. Oczywiście mogę to sprawdzić za pomocą DISTICT, ale to nie jest to, co chcę osiągnąć tutaj. Chcę mieć tabelę zawierającą tylko unikalne pary (id_category, id_manufacturer). Czy ktoś może mi pomóc?

questionAnswers(1)

yourAnswerToTheQuestion