1) Можете ли да добавите UNIQUE
ограничение върху (myid, theirid)
? Ако да, добавете това ограничение и използвайте:
INSERT INTO mytable (myid, theirid)
VALUES (5, 1) ;
и игнорирайте предупрежденията за производство (или заменете горното с INSERT IGNORE
)
2) Ако не можете да добавите такова ограничение (напр. понякога искате да разрешите такива дубликати, а друг път не), можете да използвате това:
INSERT INTO mytable (myid, theirid)
SELECT 5, 1
FROM dual
WHERE NOT EXISTS
( SELECT *
FROM mytable
WHERE myid = 5
AND theirid = 1
) ;