0
単純なストアドプロシージャを選択しますが、他のユーザーがnullになった結果として1つの列しか取得できません。エラーがどこにあるMysqlのストアドプロシージャは1つの列データのみを返します
誰かがあなたが名前の競合を持っている...
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;
はいヨハンそれは、そのエラーを与える時 で3つのすべてのcolumsを選択することができません。私のために働いた。しかし、 。 クエリ:SELECT(@PFirstname、@PUsername、@PEmail) エラーコード:1241 オペランドは、個々のクエリHowevr 1列(複数可) が含まれている必要がありますが、PFirstname @ PUsername @ CALLのget_one_user_new(4、のように正常に動作します@ PEmail); #SELECT(@PFirstname); #SELECT(@PUsername); SELECT(@ PEmail); –
@NaveenKumar、selectで '()'を使わないでください。 'CALL get_one_user_new(4、@ PUsername、@ PFirstname、@ PEmail); @PFirstnameをファーストネームで、@ PUsernameをユーザ名として、@ PEmailをメールで ' – Johan
Thank You Johan.Its Done .. –