2012-06-11 22 views
6

¿Cómo puedo ver la lista de funciones definidas por el usuario en la base de datos mysql usando phpmyadmin.mysql muestra la lista de funciones definidas por el usuario en phpmyadmin

La base de datos Mysql se ha migrado de un servidor a otro servidor y las funciones personalizadas definidas por el usuario no funcionan. Necesito ver la lista de funciones definidas por el usuario para verificar si existen en la base de datos o no.

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

¿Qué versión de MySQL está ejecutando? A partir de 5.1, la documentación dice que la tabla information_schema.routines no contiene funciones definidas por el usuario. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html Estoy confundido. – octopusgrabbus

Respuesta

19

La siguiente consulta de MySQL mostrará una lista de las rutinas definidas por el usuario.

select * from information_schema.routines; 
+0

Los documentos para 5.1 dicen lo contrario de esto. Estoy confundido. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html – octopusgrabbus

+0

Es la definición de "funciones definidas por el usuario", que cuenta: los procesos almacenados declarados en SQL están allí, los archivos UDF de un motor externo (complemento de MySQL en forma compilada) no lo son. –

+0

Gracias por aclarar. Estaba confundido. – octopusgrabbus

0

qué le dará toda la información acerca de sus funciones personalizadas/procedimientos:

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

espero que ayude!

Cuestiones relacionadas