Jeśli Twój DBMS nie nakłada ograniczeń na wybór tabeli podczas wykonywania wstawiania, spróbuj:
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)
W tym dual
jest tabelą z tylko jednym wierszem (pierwotnie w Oracle, teraz także w mysql). Logika polega na tym, że instrukcja SELECT generuje pojedynczy wiersz danych z wymaganymi wartościami, ale tylko wtedy, gdy wartości nie zostały jeszcze znalezione.
Alternatywnie spójrz na instrukcję MERGE.