Si votre SGBD n'impose pas de limitations sur la table à partir de laquelle vous sélectionnez lorsque vous exécutez une insertion, essayez :
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)
En cela, dual
est une table avec une seule ligne (trouvé à l'origine dans Oracle, maintenant aussi dans mysql). La logique est que l'instruction SELECT génère une seule ligne de données avec les valeurs requises, mais uniquement lorsque les valeurs ne sont pas déjà trouvées.
Vous pouvez également consulter l'instruction MERGE.