3

「SHOWCREATEPROCEDUREfoo」をmysqlの結果にパイプすると、「CreateProcedure」というラベルの付いた列に完全なプロシージャ定義が含まれます。でも、

$ dbh-> selectrow_hashref( "SHOW CREATE PROCEDURE foo");

その結果、$ ref-> {'Create Procedure'}はundefになり、他の列は正しく入力されます。両方とも同じマシンで同じ資格情報を使用して実行されました。誰かが理由を知っていますか?

4

1 に答える 1

2

これは、接続するユーザーが手順を表示する権限を持っていない場合に表示されるものです。コマンド ラインで同じユーザーを使用してみてください。Create Procedure 列に NULL が表示されると思います。

プロシージャ本体を表示するには、mysql.proc に対する選択権限が必要なようです。

于 2013-02-12T18:53:18.337 に答える