MySQL 8.0 Reference Manual Including MySQL NDB Cluster 8.0 The user_defined_functions Table

The user_defined_functions table contains a row for each loadable function registered automatically by a component or plugin, or manually by a CREATE FUNCTION statement. For information about operations that add or remove table rows, see Section 5.7.1, “Installing and Uninstalling Loadable Functions”.


The name of the user_defined_functions table stems from the terminology used at its inception for the type of function now known as a loadable function (that is, user-defined function, or UDF).

The user_defined_functions table has these columns:

The user_defined_functions table has these indexes:

TRUNCATE TABLE is not permitted for the user_defined_functions table.

The mysql.func system table also lists installed loadable functions, but only those installed using CREATE FUNCTION. The user_defined_functions table lists loadable functions installed using CREATE FUNCTION as well as loadable functions installed automatically by components or plugins. This difference makes user_defined_functions preferable to mysql.func for checking which loadable functions are installed.