While running some mysql scripts I suddenly hit the following error:
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:
UPDATE [blah blah] WHERE find_in_set (id,(SELECT [more blah[)) FROM [rest OF blag];
and it has to be
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.