|
@@ -44,29 +44,50 @@ class MysqlHelper:
|
|
|
except Exception as e:
|
|
|
print(f"get_values异常:{e}\n")
|
|
|
|
|
|
- @classmethod
|
|
|
- def update_values(cls, sql, params):
|
|
|
- # 连接数据库
|
|
|
+@classmethod
|
|
|
+def update_values(cls, sql, params=None):
|
|
|
+ """
|
|
|
+ 执行更新操作(INSERT/UPDATE/DELETE)
|
|
|
+
|
|
|
+ 参数:
|
|
|
+ sql: 要执行的SQL语句
|
|
|
+ params: SQL参数(可选,元组或字典)
|
|
|
+
|
|
|
+ 返回:
|
|
|
+ 成功时返回影响的行数,失败返回None
|
|
|
+ """
|
|
|
+ connect = None
|
|
|
+ cursor = None
|
|
|
+
|
|
|
+ try:
|
|
|
connect = cls.connect_mysql()
|
|
|
- # 返回一个 Cursor对象
|
|
|
- mysql = connect.cursor()
|
|
|
- try:
|
|
|
- # 执行 sql 语句
|
|
|
- res = mysql.execute(sql, params)
|
|
|
- # 注意 一定要commit,否则添加数据不生效
|
|
|
- connect.commit()
|
|
|
- return res
|
|
|
- except Exception as e:
|
|
|
- # 发生错误时回滚
|
|
|
- logger.error(f"Error executing SQL: {e}")
|
|
|
+ cursor = connect.cursor()
|
|
|
+
|
|
|
+ # 执行SQL语句
|
|
|
+ if params:
|
|
|
+ affected_rows = cursor.execute(sql, params)
|
|
|
+ else:
|
|
|
+ affected_rows = cursor.execute(sql)
|
|
|
+
|
|
|
+ connect.commit()
|
|
|
+ return affected_rows
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ logger.error(f"SQL执行失败: {e}")
|
|
|
+ logger.error(f"SQL语句: {sql}")
|
|
|
+ if params:
|
|
|
+ logger.error(f"参数: {params}")
|
|
|
+
|
|
|
+ if connect:
|
|
|
connect.rollback()
|
|
|
- return None # 返回 None 表示失败
|
|
|
- finally:
|
|
|
- # 确保资源关闭
|
|
|
- if mysql:
|
|
|
- mysql.close()
|
|
|
- if connect:
|
|
|
- connect.close()
|
|
|
+ return None
|
|
|
+
|
|
|
+ finally:
|
|
|
+ # 确保资源关闭
|
|
|
+ if cursor:
|
|
|
+ cursor.close()
|
|
|
+ if connect:
|
|
|
+ connect.close()
|
|
|
|
|
|
|
|
|
|