0
내가 가지고있는 저장 프로 시저 :MySQL의 함수 반환
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertRaffleTicket`(IN userId BIGINT, IN raffleId BIGINT)
BEGIN
INSERT INTO RaffleTicket(UserId, RaffleId)
SELECT userId, raffleId
FROM RaffleStatus rs
WHERE rs.RaffleId = raffleId
AND rs.SoldOut = 0;
END
어떻게 테이블에 성공적으로 삽입시 값을 반환하는 함수로이 설정할 수 있습니다?
CREATE DEFINER=`root`@`localhost` FUNCTION `addTicket`(UserId int, RaffleId int) RETURNS int(11)
BEGIN
INSERT INTO RaffleTicket(UserId, RaffleId)
SELECT userId, raffleId
FROM RaffleStatus rs
WHERE rs.RaffleId = raffleId
AND rs.SoldOut = 0;
return rs.SoldOut;
RETURN 1;
END
를하지만 나에게 필드 목록에서 오류 1109 알 수없는 테이블 'RS'를주고있다 :
나는 노력했다.
답변을하는 동안 업데이트되었을 수도 있지만 데이터베이스에 예제를 넣을 때 계속 오류 1054 알 수없는 열 'WbId'가 나타납니다. – Coffman34
내 대답을 업데이트했습니다. 지금 확인하십시오, 변수 이름을 변경하는 것을 잊었습니다 – Hitesh
이제 올바른 티켓이 추가됩니다. 그러나 항상 1을 반환합니다. SoldOut 값을 반환해야합니다. 그래서 SoldOut = 0이면 티켓을 추가하고 SoldOut = 1이면 티켓을 추가하지 않았습니다. – Coffman34