1) Pouvez-vous ajouter un UNIQUE
contrainte sur (myid, theirid)
? Si oui, ajoutez cette contrainte et utilisez :
INSERT INTO mytable (myid, theirid)
VALUES (5, 1) ;
et ignorez les avertissements de produit (ou remplacez ce qui précède par INSERT IGNORE
)
2) Si vous ne pouvez pas ajouter une telle contrainte (par exemple, vous souhaitez parfois autoriser de tels doublons et d'autres fois non), vous pouvez utiliser ceci :
INSERT INTO mytable (myid, theirid)
SELECT 5, 1
FROM dual
WHERE NOT EXISTS
( SELECT *
FROM mytable
WHERE myid = 5
AND theirid = 1
) ;