Om din DBMS inte sätter begränsningar för vilken tabell du väljer från när du kör en infogning, försök:
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 denna, dual
är en tabell med endast en rad (hittades ursprungligen i Oracle, nu också i mysql). Logiken är att SELECT-satsen genererar en enda rad med data med de nödvändiga värdena, men bara när värdena inte redan finns.
Alternativt, titta på MERGE-satsen.