drop table-satser orsakar en implicit commit, vilket inte är tillåtet i en mysql-funktion. släpp temporär tabell orsakar dock inte commit. om du inte är orolig för vanliga (icke-tillfälliga) tabeller som heter months_between_dates eller filter_months som existerar bör du kunna ändra
DROP TABLE IF EXISTS months_between_dates;
DROP TABLE IF EXISTS filter_months;
till
DROP TEMPORARY TABLE IF EXISTS months_between_dates;
DROP TEMPORARY TABLE IF EXISTS filter_months;