Я считаю, что в сообщении говорится, что у вас есть ';' (точка с запятой) и, следовательно, вы пытаетесь выполнить 2 запроса. Вы не можете.
Однако, часть перед SELECT, т. Е. set @i = 0;
, если точка с запятой была удалена, может привести к сбою (если это не та особенность, на которую я не натолкнулся). Похоже, что это часть SET оператора SQLite UPDATE, если это так, то это недопустимый SQLite. Поскольку было бы только предположением предложить весь запрос, исправление не было предложено.