2012-06-11 4 views
6

Как просмотреть список пользовательских функций в базе данных mysql, используя phpmyadmin.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, в документации указано, что таблица information_schema.routines не содержит определяемых пользователем функций. http://dev.mysql.com/doc/refman/5.1/ru/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

Это определение «определяемых пользователем функций», которое учитывает: хранимые procs, объявленные в SQL, есть, UDF из внешний движок (MySQL-плагин в скомпилированной форме) - нет. –

+0

Спасибо за разъяснение. Я был смущен. – octopusgrabbus

0

Это даст вам всю информацию о ваших пользовательских функций/процедур:

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

надеюсь, что это помогает!

Смежные вопросы