このストアドプロシージャを作成して実行すると、クエリが1つのクエリになるはずです。MySQLストアドプロシージャは複数のレコードを返しますが、ストレートクエリは1つ返します
CREATE PROCEDURE `getUserName`(IN Guid VARCHAR(36), IN GameID INT(11))
BEGIN
SELECT `Name` as UserName, `GUID` as guid
FROM playerdata
WHERE `GUID` = Guid AND `GameID` = GameID;
END
CALL getUserName('86fd1007-4a9c-11e7-b2e2-1803733c2d41', 1001);
私はちょうど通常のクエリとして
SELECT `Name` as UserName, `GUID` as guid
FROM playerdata
WHERE `GUID` = "86fd1007-4a9c-11e7-b2e2-1803733c2d41" AND `GameID` = 1001;
戻り、それを実行すると、戻り値は、しかし、画像
を参照してください私は行動へと困惑していますイメージ
を参照してください。考えてみると...少なくとも私にとっては同じことです。
ストアドプロシージャのパラメータの名前を変更します(例: '_Guid'および' _GameID')。 [C.1ストアド・プログラムの制限事項:ストアド・ルーチン内の名前の競合](https://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html)を参照してください。 – wchiquito
\ GUID \とGUIDは同じものです。 1 = 1と同じです。 – Strawberry
さて、それについて説明します。大文字小文字を区別しないSQLに切り替えると、私は忘れてしまいます。 –