You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python执行MariaDB的UPDATE查询后数据库无变化如何解决?

代码问题排查结果

你提交的更新代码未生效的核心原因是没有执行事务提交操作,MariaDB Python连接器默认不开启自动提交,所有数据修改操作都需要显式提交后才会真正写入数据库。


修正后代码示例

import mariadb

connection= mariadb.connect(user="user1", database="db1", host="ippp" ,password="pass")
cursor= connection.cursor()

cursor.execute("UPDATE product_options_combinations SET quantity=5944 WHERE item_code ='31628'")
# 新增事务提交语句
connection.commit()

# 可打印受影响行数确认更新是否命中目标
print(f"实际更新行数:{cursor.rowcount}")

cursor.close()
connection.close()

其他可能的问题排查点

  • 确认WHERE条件匹配有效数据:可先执行SELECT语句查询item_code ='31628'的记录是否存在,若cursor.rowcount返回值为0,说明没有命中任何记录,自然不会产生数据变更
  • 确认账号权限:检查user1是否拥有db1库下product_options_combinations表的UPDATE权限
  • 确认字段类型匹配:如果item_code是数值类型,条件里的单引号可能导致匹配失败,可以改为WHERE item_code = 31628测试
  • 排查锁冲突:如果有其他未提交的事务锁住了目标行,你的更新操作会被阻塞,可通过数据库锁日志排查这类情况

内容的提问来源于stack exchange,提问作者Boxer Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:48:03