Je kunt zoiets als dit doen:
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);
BEWERKEN:
Oeps. Dat bovenstaande werkt niet in MySQL omdat er een from
. ontbreekt clausule (werkt echter in veel andere databases). In ieder geval schrijf ik dit meestal door de waarden in een subquery te plaatsen, zodat ze maar één keer in de query verschijnen:
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
);