I've been staring at this for a while now. Maybe some fresh eyes will be able to point out what Im doing wrong.. Here is my query:
IF (EXISTS (SELECT * FROM `admin_rule_module` WHERE `rule_set_id`='13' AND `entity_id`='2'))
begin
UPDATE `admin_rule_module`
SET `permission`='allow' WHERE `entity_id`='2'
end
else
begin
INSERT INTO `admin_rule_module` (`rule_set_id`, `entity_id`, `permission`)
VALUES ('13', '2', 'allow')
end
I'm getting the following error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (EXISTS (SELECT * FROM
admin_rule_moduleWHERErule_set_id='13' AND `enti' at line 1
Try this...
INSERT INTO admin_rule_module VALUES (13, 2, 'allow')
ON DUPLICATE KEY UPDATE permission = 'allow', entity_id = 2;
Assuming you've a UNIQUE KEY key (rule_set_id, entity_id), at least. If you want to do it with a conditional and multiple statements, you have to put it in a PROCEDURE or a FUNCTION.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With