我使用 VSCode 工作,使用 Python 编写代码。我在OpenServer 6.0.0中启用了Mysql的查询日志对数据库本身的查询是正确的。 SELECT 也有效。但数据库没有更新。如果您从日志中复制此请求并在 Phpmyadmin 中手动执行它,则一切正常。我尝试重新启动 PC、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()