Załadowałem funkcję UDF do MySQL (bez wybrania żadnego konkretnego DB). Kiedyś dobrze pracować podczas sesji, ale teraz pojawia się błąd „ERROR 1305 (42000): Funkcja currentdatabase.myfunction nie istnieje”, gdy próbuję użyć funkcji z następującą instrukcję SQL:Nie można użyć funkcji UDF MySQL
select myfunction('aaa');
I następnie próbowałem upuścić funkcję i otrzymałem ten sam kod błędu:
mysql> drop function myfunction;
ERROR 1305 (42000): FUNCTION database.myfunction does not exist
jeśli wybrano DB.
inny kod błędu inaczej:
ERROR 1046 (3D000): No database selected
Więc postanowiłem ponownie określić funkcję i mam następujący kod błędu:
CREATE FUNCTION myfunction RETURNS INT SONAME 'myfunction.so';
ERROR 1125 (HY000): Function 'myfunction' already exists
Moje pytanie brzmi: w jaki sposób ponownie użyć mojej funkcji?
Z góry dziękuję.
Uwaga: nie ma problemu z przestrzenią kosmiczną, jak ("wybierz moją funkcję (" aaa ");"), jak opisano na kilku innych stronach internetowych.
Mam ten sam problem. Uważam, że problem polega na tym, że (przynajmniej ja to zrobiłem) usunę udostępnioną bibliotekę .so przed upuszczeniem funkcji lub gdy mysqld nadal działa. Nie wiesz, jak to rozwiązać, ktoś? 'SELECT * FROM mysql.func' zawiera listę funkcji, których chcę użyć. – juanmirocks