Function Name Parsing and Resolution However, enabling  IGNORE_SPACE  also has the side effect that the parser treats the affected function names as reserved words (see Section 9.3, “Keywords and Reserved Words” ). This means that a space following the name no longer signifies its use as an identifier. The name can be used in function calls with or without following whitespace, but causes a syntax error in nonexpression context unless it is quoted. For example, with  IGNORE_SPACE  enabled, both of the following statements fail with a syntax error because the parser interprets  count  as a reserved word: To use the function name in nonexpression context, write it as a quoted identifier: To enable the  IGNORE_SPACE  SQL mode, use this statement: Check Section 5.1.11, “Server SQL Modes” , to see which composite modes enable  IGNORE_SPACE . IGNORE_SPACE  is also enabled by certain other composite modes such as  ANSI  that include it in their value: To minimize the dependency of SQL code on the  IGNORE_SPACE  setting, use these guidelines: If you must use a function name in nonexpression context, write it as a quoted identifier: The following rules describe how the server resolves references to function names for function creation and invocation: It is possible to create a stored function with the same name as a built-in function, but to invoke the stored function it is necessary to qualify it with a schema name. For example, if you create a stored function named  PI  in the  test  schema, invoke it as  test.PI()  because the server resolves PI()  without a qualifier as a reference to the built-in function. The server generates a warning if the stored function name collides with a built-in function name. The warning can be displayed with  SHOW WARNINGS . An error occurs if you try to create a loadable function with the same name as a built-in function. 1879 Function Name Resolution •Built-in functions and stored functions •Built-in functions and loadable functions •Avoid creating loadable functions or stored functions that have the same name as a built-in function. •Avoid using function names in nonexpression context. For example, these statements use  count  (one of the affected function names affected by  IGNORE_SPACE ), so they fail with or without whitespace following the name if  IGNORE_SPACE  is enabled: CREATE TABLE count(i INT); CREATE TABLE count (i INT); CREATE TABLE ‘count‘(i INT); CREATE TABLE ‘count‘ (i INT); SET sql_mode = ’ANSI’; SET sql_mode = ’IGNORE_SPACE’; CREATE TABLE ‘count‘(i INT); CREATE TABLE ‘count‘ (i INT); CREATE TABLE count(i INT); CREATE TABLE count (i INT);