• ValueError: parameters are of unsupported type?

    @voldemar21
    Запятая после user_id нужна для того, чтобы передать его в качестве элемента кортежа, который является вторым аргументом метода execute().

    Метод execute() принимает два аргумента: строку SQL-запроса и кортеж значений, которые нужно вставить в запрос. В данном случае в запросе есть одно место, которое нужно заполнить значением user_id.

    Параметры, которые нужно передать в запрос, должны быть упакованы в кортеж. Если бы мы написали просто (user_id), то это было бы эквивалентно user_id без скобок, то есть передалось бы просто значение переменной user_id.

    Однако, метод execute() ожидает кортеж с одним элементом, поэтому мы обязаны поставить запятую после user_id, чтобы создать кортеж с одним элементом, а не передать просто значение переменной.
    user_id как пример. Тоже с этим мучался.
    Ответ написан
    Комментировать