Możesz zrobić coś takiego:
insert into cats_rel(cat_id, post_id)
select 11, 32
where not exists (select 1 from cats_rel where cat_id = 11 and post_id = 32);
EDYCJA:
Ups. Powyższe nie działa w MySQL, ponieważ brakuje w nim from
klauzula (działa jednak w wielu innych bazach danych). W każdym razie zwykle piszę to, umieszczając wartości w podzapytaniu, więc pojawiają się one w zapytaniu tylko raz:
insert into cats_rel(cat_id, post_id)
select toinsert.cat_id, toinsert.post_id
from (select 11 as cat_id, 32 as post_id) toinsert
where not exists (select 1
from cats_rel cr
where cr.cat_id = toinsert.cat_id and cr.post_id = toinsert.post_id
);