INSERT INTO hotels (name,region,type_)
SELECT :name, :region, :type
FROM rdb$database -- Это таблица с одной строкой. Для mySQL, кажись, можно просто убрать предложение FROM
WHERE NOT EXISTS(SELECT * FROM hotels WHERE name = :name AND region = :region AND type_ = :type)
Логика запроса:
- вставить, то что выберем
- выбирать будем наши данные, а не данные из БД. (обманка, типа, получилась ... вроде и запрос, а не спрашивает - сам дает)
- если данные такие уже в БД есть, то WHERE вернет ложь и select вернет ноль записей и нифига вставлено не будет.