2012-06-11 19 views
6

Jak mogę wyświetlić listę funkcji zdefiniowanych przez użytkownika w bazie danych mysql za pomocą phpmyadmin.lista wyświetlania mysql funkcji zdefiniowanych przez użytkownika w phpmyadmin

Baza danych Mysql została przeniesiona z jednego serwera na inny, a niestandardowe funkcje zdefiniowane przez użytkownika nie działają. Potrzebuję wyświetlić listę funkcji zdefiniowanych przez użytkownika, aby sprawdzić, czy istnieją w bazie danych, czy nie.

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

Jaką wersję MySQL używasz? Od wersji 5.1 dokumentacja mówi, że tabela information_schema.routines nie zawiera funkcji zdefiniowanych przez użytkownika. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html Jestem zdezorientowany. – octopusgrabbus

Odpowiedz

19

Następujące zapytanie MySQL wyświetli listę procedur zdefiniowanych przez użytkownika.

select * from information_schema.routines; 
+0

Dokumenty dla 5.1 mówią wprost przeciwnie. Jestem zmieszany. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html – octopusgrabbus

+0

Jest to definicja "funkcji zdefiniowanych przez użytkownika", która się liczy: przechowywane procs zadeklarowane w SQL są tam, UDF z zewnętrzny silnik (wtyczka MySQL w postaci skompilowanej) nie jest. –

+0

Dzięki za wyjaśnienie. Byłem zmieszany. – octopusgrabbus

0

To da Ci wszystkie informacje o swoich własnych funkcji/procedur:

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

nadzieję, że to pomaga!

Powiązane problemy