Als uw DBMS geen beperkingen oplegt aan de tabel waaruit u selecteert wanneer u een invoeging uitvoert, probeer dan:
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)
In deze, dual
is een tabel met slechts één rij (oorspronkelijk gevonden in Oracle, nu ook in mysql). De logica is dat de SELECT-instructie een enkele rij gegevens genereert met de vereiste waarden, maar alleen als de waarden nog niet zijn gevonden.
U kunt ook de MERGE-instructie bekijken.