Pokud váš DBMS neklade omezení na to, ze které tabulky při provádění vložení vybíráte, zkuste:
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)
V tomto dual
je tabulka pouze s jedním řádkem (původně v Oracle, nyní také v mysql). Logika je taková, že příkaz SELECT vygeneruje jeden řádek dat s požadovanými hodnotami, ale pouze v případě, že hodnoty ještě nebyly nalezeny.
Případně se podívejte na příkaz MERGE.