私も同じ問題を抱えていました。プロシージャ内のSELECTINTOクエリではなく(はい、MySQLで有効です)、その外部プロシージャで後で実際のエラーが発生した別のプロシージャを呼び出しました。
これは、手順の外でモック値を使用してクエリを確認した後でのみ見つかりました。
SET @this_RID=0, @this_RANo=0, @this_modpos=0;
SELECT Response_ID, Response_attempt_No, position, UNCOMPRESS(RAMX.`data`)
INTO @this_RID, @this_RANo, @this_modpos, @this_XML
FROM RAMX
WHERE
Response_ID>=@this_RID AND Response_attempt_No>=@this_RANo AND position>=@this_modpos
AND (NOT (Response_ID=@this_RID AND Response_attempt_No=@this_RANo AND position=@this_modpos))
AND module_ID=2
AND `data` <> ""
ORDER BY Response_ID, Response_attempt_No, position
LIMIT 1;
SELECT @this_RID, @this_RANo, @this_modpos;
+-----------+------------+--------------+
| @this_RID | @this_RANo | @this_modpos |
+-----------+------------+--------------+
| 451994 | 0 | 1 |
+-----------+------------+--------------+
1 row in set (0.00 sec)
外部プロシージャを呼び出すと、呼び出されたプロシージャを修正する前にこのエラーが発生していました。
エラー1054(42S22):「フィールドリスト」の不明な列「データ」