diff --git a/apps/emqx_connector/src/emqx_connector_mysql.erl b/apps/emqx_connector/src/emqx_connector_mysql.erl index ad8c882e7..21e90c929 100644 --- a/apps/emqx_connector/src/emqx_connector_mysql.erl +++ b/apps/emqx_connector/src/emqx_connector_mysql.erl @@ -165,10 +165,11 @@ prepare_sql_to_conn_list([], _PrepareList) -> ok; prepare_sql_to_conn_list([Conn | ConnList], PrepareList) -> case prepare_sql_to_conn(Conn, PrepareList) of ok -> - prepare_sql_to_conn(ConnList, PrepareList); + prepare_sql_to_conn_list(ConnList, PrepareList); {error, R} -> %% rollback - [unprepare_sql_to_conn(Conn, Key) || {Key, _} <- PrepareList], + Fun = fun({Key, _}) -> _ = unprepare_sql_to_conn(Conn, Key), ok end, + lists:foreach(Fun, PrepareList), {error, R} end.