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」。
我在回答時可能已經更新了,但是當我將您的示例放入我的數據庫時,我一直收到Error 1054 Unkown列'WbId'。 – Coffman34
我已經更新了我的答案,請現在檢查,我忘記更改變量名稱 – Hitesh
現在添加正確的票證。但它總是返回1.我需要它返回SoldOut值。所以我知道如果SoldOut = 0,它添加了票證,如果SoldOut = 1,它不添加票證。 – Coffman34