Tôi đã tải một hàm UDF vào MySQL (không chọn bất kỳ DB cụ thể nào). Nó được sử dụng để làm việc tốt trong phiên tôi, nhưng bây giờ tôi nhận được lỗi "ERROR 1305 (42000): CHỨC NĂNG currentdatabase.myfunction không tồn tại" khi tôi cố gắng để sử dụng chức năng với các câu lệnh SQL sau:Không thể sử dụng chức năng UDF của MySQL
select myfunction('aaa');
tôi sau đó đã cố gắng bỏ chức năng và tôi nhận được cùng một mã lỗi:
mysql> drop function myfunction;
ERROR 1305 (42000): FUNCTION database.myfunction does not exist
nếu một DB được chọn.
Một mã lỗi khác:
ERROR 1046 (3D000): No database selected
Vì vậy, tôi quyết định để xác định lại chức năng và tôi đã nhận mã lỗi sau:
CREATE FUNCTION myfunction RETURNS INT SONAME 'myfunction.so';
ERROR 1125 (HY000): Function 'myfunction' already exists
Câu hỏi của tôi là: làm thế nào để sử dụng lại chức năng của tôi?
Xin cảm ơn trước.
Lưu ý: không có vấn đề về không gian như ("chọn myfunction ('aaa');") như được báo cáo trên một số trang web khác.
Tôi đang gặp vấn đề tương tự. Tôi tin rằng vấn đề là chúng tôi (ít nhất là tôi đã làm) loại bỏ thư viện chia sẻ .so trước khi thả các chức năng hoặc trong khi mysqld vẫn chạy. Không biết làm thế nào để giải quyết điều này, một ai đó? 'SELECT * FROM mysql.func' liệt kê hàm tôi muốn sử dụng. – juanmirocks