begin declare t_row int default 0; declare t_count int default 0; DECLARE t_count2 INT DEFAULT 0; SELECT COUNT(*) into t_count from TS_Friends where UserID=UseID and User2ID=User2ID; SELECT COUNT(*) into t_count2 FROM TS_Friends WHERE User2ID=UseID AND UserID=User2ID AND VerifyState=1 AND StatueTpyeID=1; if(t_count<>0) then set ReturnValue=2; elseif (t_count2<>0) then set ReturnValue=3; else start TRANSACTION; INSERT INTO TS_Friends(UserID, User2ID, StatueTpyeID, UpdateTime) VALUES (UseID,User2ID,StatueTypeID,UpdateTime); select row_count() into t_row; if(t_row=0) then set ReturnValue=-1; rollback; else set ReturnValue=1; commit; end if; end if; end
SELECT COUNT(*) into t_count from TS_Friends where UserID=UseID and User2ID=User2ID; SELECT COUNT(*) into t_count2 FROM TS_Friends WHERE User2ID=UseID AND UserID=User2ID AND VerifyState=1 AND StatueTpyeID=1;
上面部分 改为:
SELECT t_count = count(*) from TS_Friends where UserID=UseID and User2ID=User2ID; SELECT t_count2 = COUNT(*) FROM TS_Friends WHERE User2ID=UseID AND UserID=User2ID AND VerifyState=1 AND StatueTpyeID=1;
mysql 与sql的语法还是有点区别的,多加留意。