Documentation Home

13.7.4.2 可加载函数的 DROP FUNCTION 语句

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,服务器可能会意外关闭。