0
簡單的選擇存儲過程,但只有一列的結果是其他人得到空值。存儲過程在Mysql returnig中只有一列數據
有人能告訴我哪裏出錯..
DELIMITER $$
DROP PROCEDURE IF EXISTS `p4`.`get_one_user_new`$$
CREATE PROCEDURE `p4`.`get_one_user_new`
(
IN USER_ID INT(11),
OUT USER_NAME VARCHAR(255),
OUT FIRST_NAME VARCHAR(255),
OUT EMAIL VARCHAR(255)
)
BEGIN
SELECT username,first_name,email
INTO USER_NAME, FIRST_NAME, EMAIL
FROM p4_users
WHERE id = USER_ID;
END $$
DELIMITER ;
CALL get_one_user_new('4',@USERNAME,@FIRST_NAME,@EMAIL);
SELECT @USERNAME,@FIRST_NAME,@EMAIL;
是約翰它爲我工作,但, 無法選擇所有三個colums同時 它給人一種錯誤。 查詢:SELECT(@PFirstname,@PUsername,@PEmail) 錯誤代碼:1241 操作數應包含1列(S) Howevr各個查詢工作正常,像 CALL get_one_user_new(4,@ PUsername,@ PFirstname, @PEmail); #SELECT(@PFirstname); #SELECT(@PUsername); SELECT(@PEmail); – 2011-12-19 10:33:20
@NaveenKumar,不要在select中使用'()',只要:'CALL get_one_user_new(4,@ PUsername,@ PFirstname,@ PEmail); SELECT @PFirstname as firstname,@ PUsername as username,@ PEmail as email' – Johan 2011-12-19 11:17:05
Thank You Johan.Its Done .. – 2011-12-19 11:21:39