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