2012-06-11 28 views
6

phpmyadminを使用してmysqlデータベースのユーザ定義関数のリストを表示する方法を教えてください。mysqlはphpmyadminのユーザ定義関数のリストを表示します

Mysqlデータベースがあるサーバーから別のサーバーに移行され、ユーザー定義のカスタム機能が動作していません。それらがデータベースに存在するかどうかをチェックするために、ユーザー定義関数のリストを表示する必要があります。

Fatal error: db::execute() Could not execute: FUNCTION database.xxx does not exist (SQL: SELECT Function(field) FROM users in file.php on line xx 
+0

実行中のMySQLのバージョンは? 5.1の時点で、documentationにはinformation_schema.routinesテーブルにユーザ定義関数が含まれていないと記載されています。 http://dev.mysql.com/doc/refman/5.1/en/routines-table.html私は混乱しています。 – octopusgrabbus

答えて

19

次のMySQLクエリは、ユーザー定義ルーチンをリストします。

あなたのカスタム関数/手続きに関するすべての情報を提供します
select * from information_schema.routines; 
+0

5.1のドキュメントは、これとは逆の言い方です。よくわかりません。 http://dev.mysql.com/doc/refman/5.1/en/routines-table.html – octopusgrabbus

+0

「ユーザー定義関数」の定義は次のとおりです。SQLで宣言されたストアドプロシージャはそこにあります。外部エンジン(コンパイルされた形式のMySQLプラグイン)はありません。 –

+0

ご清聴ありがとうございます。私は混乱していた。 – octopusgrabbus

0

select specific_name, definer from information_schema.routines where definer not like '%mysql%'; 

はそれが役に立てば幸い!

関連する問題