DROP FUNCTION [IF EXISTS] function_name
此语句删除名为 的可加载函数
function_name
。(DROP
FUNCTION
也用于删除存储的函数;请参阅
第 13.1.29 节,“DROP PROCEDURE 和 DROP FUNCTION 语句”。)
DROP
FUNCTION
是的补充
CREATE
FUNCTION
。它需要系统模式的
DELETE
特权,
因为它从系统表中
mysql
删除了注册函数的行。mysql.func
DROP
FUNCTION
还从 Performance Schema 表中删除了该函数,该
user_defined_functions
表提供有关已安装可加载函数的运行时信息。请参阅
第 27.12.21.9 节,“user_defined_functions 表”。
在正常的启动序列中,服务器加载mysql.func
表中注册的函数。因为
DROP
FUNCTION
删除了mysql.func
已删除函数的行,所以服务器在随后的重新启动期间不会加载该函数。
DROP
FUNCTION
不能用于删除由组件或插件自动安装的可加载函数,而不是使用
CREATE
FUNCTION
. 当安装它的组件或插件被卸载时,这样的功能也会自动删除。
要升级与可加载函数关联的共享库,请发出
DROP
FUNCTION
语句,升级共享库,然后发出
CREATE
FUNCTION
语句。如果先升级共享库再使用
DROP
FUNCTION
,服务器可能会意外关闭。