2012-06-11 46 views
6

Làm cách nào tôi có thể xem danh sách các hàm do người dùng định nghĩa trong cơ sở dữ liệu mysql bằng cách sử dụng phpmyadmin.danh sách hiển thị mysql của các hàm do người dùng định nghĩa trong phpmyadmin

Cơ sở dữ liệu Mysql đã được di chuyển từ một máy chủ này sang máy chủ khác và các chức năng tùy chỉnh do người dùng xác định không hoạt động. Tôi cần xem danh sách hàm do người dùng xác định để kiểm tra xem chúng có tồn tại trong cơ sở dữ liệu hay không.

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

Bạn đang chạy phiên bản MySQL nào? Kể từ 5.1, tài liệu cho biết bảng information_schema.routines không chứa các hàm do người dùng định nghĩa. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html Tôi bối rối. – octopusgrabbus

Trả lời

19

Truy vấn MySQL sau sẽ liệt kê các thói quen do người dùng xác định.

select * from information_schema.routines; 
+0

Tài liệu cho 5.1 nói ngược lại điều này. Tôi bối rối. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html – octopusgrabbus

+0

Đó là định nghĩa về "hàm do người dùng định nghĩa", đếm: Các procs được lưu trữ như được khai báo trong SQL có, UDF từ một công cụ bên ngoài (MySQL plugin ở dạng biên dịch) thì không. –

+0

Cảm ơn bạn đã làm rõ. Tôi đã nhầm lẫn. – octopusgrabbus

0

Điều đó sẽ cung cấp cho bạn tất cả các thông tin về chức năng tùy chỉnh của bạn/thủ tục:

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

hy vọng nó sẽ giúp!

Các vấn đề liên quan