[英]Query and Stored Procedure return different results
我正在使用MySQL和MySQL工作台。 有人可以在這里幫助我,因為我迷失了方向!
我運行查詢如下:
# Retrieve user_team from user
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam
WHERE user_id = 2;
哪個工作正常。.我得到的CS_USER_TEAMS_ID
值為2 :
但是,當我使用輸入參數創建同一查詢的存儲過程時。
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN user_id INT)
BEGIN
# Retrieve user team from user_id
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam
WHERE user_id = @user_id;
END
..它什么也不返回( null )
有人可以解釋我在這里有多蠢嗎? 謝謝。
嘗試:
DELIMITER //
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN p_user_id INT)
BEGIN
# Retrieve user team from user_id
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam
WHERE user_id = p_user_id;
END//
DELIMITER ;
指出9.4之間的區別很重要。 用戶定義的變量和例程參數13.1.15。 CREATE PROCEDURE和CREATE FUNCTION語法是不同的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.