CREATE DEFINER=`qy`@`%` PROCEDURE `addDailyTask`(IN roleid bigint,IN task_id int, IN schedule int,IN done_state int, IN receive_state int,OUT result int)
BEGIN
set result = -1;
    IF EXISTS(SELECT * FROM daily_tasks WHERE role_id=roleid AND task_id=task_id)
       THEN
       UPDATE daily_tasks SET schedule=schedule,done_state=done_state,receive_state=receive_state,last_time=now() WHERE role_id=roleid AND task_id=task_id;
       set result = 10;       
    ELSE
       INSERT INTO daily_tasks VALUES(roleid,task_id,schedule,done_state,receive_state,now());        
       set result = 11;
       END IF;      
END;这种写法,我以前用过。前提:数据库已有数据role_id=999,task_id=1每次SELECT * FROM daily_tasks WHERE role_id=roleid AND task_id=task_id判断的时候还是true 我传的参数
role_id=999,task_id=3 求解答 写的有点乱 希望能明白