Using a standard mysql function returns an error

Submit to reddit

While running some mysql scripts I suddenly hit the following error:

1
ERROR 1305 (42000) at line 1: FUNCTION somedatabase.find_in_set does not exist

Since find_in_set is a standard function I was kind of puzzled, especially since I ran the same script before on some other servers without error.  Checking the SQL script I found the issue:

I had

1
UPDATE [blah blah] WHERE find_in_set (id,(SELECT [more blah[)) FROM [rest OF blag];

and it has to be

1
UPDATE [blah blah] WHERE find_in_set(id,(SELECT [more blah[)) FROM [rest OF blag];

Notice the space between the function and the opening parenthesis. At least this was the issue on the mysql version shipping with the latest CentOS 5.x; the same query worked on a CentOS 6.x mysql returning only a warning.