0
里面我要检查特定记录是否存在等在db表,如果它的存在,update如果不是我要添加新的记录获取结果从update语句出现存储过程
我使用存储过程这样做,首先我做了更新步骤,并且想检查它是否发生并返回0,然后没有受更新语句影响的记录,这意味着记录不存在。
我作出这样
DELIMITER //
CREATE PROCEDURE revokePrivilegeFromUsers(IN userId int(11), IN privilegeId int(11), IN deletedBy int(11))
BEGIN
DECLARE isExist int;
isExist = update `user_privileges` set `mode` ='d' ,`updated_by` = deletedBy, `date_time_assigned` = CURRENT_TIMESTAMP() where `user_id`= userId and `privilege_id`=privilegeId;
IF isExist == 0 THEN
insert into `user_privileges`(`user_id`,`privilege_id`,`mode`,`date_time_assigned`,`updated_by`)values (userId ,privilegeId ,'d',CURRENT_TIMESTAMP(),deletedBy);
END IF;
END //
DELIMITER ;
这个错误我
#1064 - 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 '= update `user_privileges` set `mode` ='d' ,`updated_by` = deletedBy, `date_time' at line 6
发生是我工作的方式是由MySQL支持?
我认为这里不需要php标签。 – 2012-04-23 08:43:02
PHP标签在哪里? – palAlaa 2012-04-23 08:46:14
我已经为您编辑了标签。 – Maerlyn 2012-04-23 08:51:00