Vous pouvez faire quelque chose comme ceci :
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);
MODIFIER :
Oops. Ce qui précède ne fonctionne pas dans MySQL car il manque un from
clause (fonctionne dans de nombreuses autres bases de données, cependant). Dans tous les cas, j'écris généralement ceci en mettant les valeurs dans une sous-requête, afin qu'elles n'apparaissent qu'une seule fois dans la requête :
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
);