Что не так с mysql в Openserver 6?

Работаю в VSCode, код на Python. Включил лог запросов к Mysql в OpenServer 6.0.0 Сам запрос к БД корректен. SELECT тоже работает. Но апдейта в БД не происходит. Если скопировать этот запрос из логов и вручную выполнить в Phpmyadmin - все срабатывает. Перезагружать ПК, VSCode и Openserver пробовал, не помогает Апдейчу в поле с типом TEXT, данные - json.dumps(dict) С чем может быть связана данная проблема?

Запрос собирается и выполняется здесь. Думаю, может где-то в этом методе лишняя кавычка где-то ставится и Openserver в логах ее не выводит

def update(self, table:str, data: dict, where: str):
    """
    Обновить запись
    """
    _query = str()
    for k, v in data.items():
        if isinstance(v, str):
            _query += f"`{k}`='{v}'"
        elif isinstance(v, (dict, list)):
            _query += f"`{k}`='{json.dumps(v, ensure_ascii=False)}'"
        else:
            _query += f"`{k}`={str(v)}"
        _query += ','
    _query = _query[:-1]
    query = f"UPDATE {table} SET {_query} WHERE {where}"
    self.query(query)
    self._cursor.close()

Ответы (1 шт):

Автор решения: Пряник Офф

ошибка была в собственной непредусмотрительности. проверка на SELECT запрос была такой

if query.upper().find('SELECT') == -1:
            self._connection.commit()

вместо

if not query.upper().startswith('SELECT'):
            self._connection.commit()

а в query была переменная с названием select, от того коммит и не делался... Спасибо

→ Ссылка