Редактировать Я думаю, что самый быстрый способ сделать это с помощью двух последовательно выполняемых запросов, например:
UPDATE `admin_rule_module`
SET `permission`='allow'
WHERE `entity_id`='2'
AND EXISTS (SELECT * FROM `admin_rule_module`
WHERE `rule_set_id`='13' AND `entity_id`='2');
INSERT INTO `admin_rule_module`
(`rule_set_id`, `entity_id`, `permission`) VALUES ('13', '2', 'allow')
WHERE NOT EXISTS (SELECT * FROM `admin_rule_module`
WHERE `rule_set_id`='13' AND `entity_id`='2');
В UPDATE
действительно нет необходимости в выражении EXISTS
, если вы добавляете rule_set_id='13'
к своим предложениям, но я не хочу делать никаких предположений для вас.