Hvis dit DBMS ikke pålægger begrænsninger for, hvilken tabel du vælger fra, når du udfører en indsættelse, prøv:
INSERT INTO x_table(instance, user, item)
SELECT 919191, 123, 456
FROM dual
WHERE NOT EXISTS (SELECT * FROM x_table
WHERE user = 123
AND item = 456)
I denne dual
er en tabel med kun en række (fundet oprindeligt i Oracle, nu også i mysql). Logikken er, at SELECT-sætningen genererer en enkelt række data med de nødvendige værdier, men kun når værdierne ikke allerede er fundet.
Alternativt kan du se på MERGE-sætningen.