<p>MySQL raises this error when you try to create a user-defined function that has the same name as a built-in MySQL function.</p>
<p>MySQL Error 1585: ER_NATIVE_FCT_NAME_COLLISION occurs when a user-defined function shares a name with a native MySQL function. Rename the custom function or drop it before redefining to resolve the conflict.</p>
This function '%s' has the same name as a native function
The server blocks creation of a user-defined function when its name duplicates a built-in function such as COUNT, SUM, or NOW. MySQL protects native functions to avoid ambiguity in query parsing and execution.
The CREATE FUNCTION statement collides with an existing native or previously defined function. Collisions can also arise when migrating code from another database that allows overriding built-ins.
Choose a unique, descriptive name like user_count or app_sum. Alternatively, drop or rename the conflicting user function, then recreate it with a non-reserved identifier.
Adopt a consistent naming convention that prefixes user functions, maintain an object inventory, and validate scripts in a staging environment or in Galaxy's linting panel before deployment.
Attempting CREATE FUNCTION count() or sum() triggers the collision.
Some platforms allow overriding built-ins, so migrations may fail in MySQL.
Automated scripts may redeploy an existing function with the same name as a native one.
Raised when a stored procedure with the same name already exists in the database.
Occurs when you reference a procedure or function that has not been created.
A generic syntax error that can appear if function definitions are malformed.
No. MySQL does not allow overriding built-in functions for stability and security reasons.
Quoting does not bypass the collision check. You must use a unique name.
Only when defining a function object. Calling a built-in from a procedure is safe.
Galaxy's editor flags reserved names and suggests alternative function names before execution.