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

Python操作PhpMyAdmin中MySQL数据库插入无数据且无报错求助

MySQL插入数据无结果且无报错的解决方案

问题核心原因

使用mysql.connector操作MySQL时,默认开启事务机制,执行cursor.execute()后并未自动提交事务,导致数据仅在内存暂存,未真正写入数据库。

修改后的可运行代码

import mysql.connector

id_discord = 397439760676945930
nick_discord = "zascan"
region = "EUW"
nick_lol = "ZascanGamer"
rank = "MASTER"
lps = "0LP"
region_rank = 4010

try:
    mydb = mysql.connector.connect(
        host="localhost",
        user="root",
        password="",
        database="servidor_discord"
    )
    cursor = mydb.cursor(dictionary=True)

    sql = "INSERT INTO usuarios (ID_DISCORD, NICK_DISCORD, REGION, NICK_LOL, RANGO, LPS, RANGO_REGION) VALUES (%s,%s,%s,%s,%s,%s,%s)"
    cursor.execute(sql, (id_discord, nick_discord, region, nick_lol, rank, lps, region_rank))
    
    # 关键步骤:提交事务,让插入操作生效
    mydb.commit()
    print("数据插入成功")
except mysql.connector.Error as err:
    # 出错时回滚事务,避免数据库资源占用
    mydb.rollback()
    print(f"错误信息: {err}")
finally:
    # 关闭游标和连接,释放资源
    cursor.close()
    mydb.close()

新手必看注意事项

  • 事务提交要求:所有写操作(INSERT/UPDATE/DELETE)必须调用mydb.commit()才能将数据持久化到数据库,这是多数数据库驱动的默认规则。
  • 异常捕获:添加try-except能捕获字段不匹配、连接失败等隐性错误,避免无声失败;出错时用rollback()回滚事务,防止数据库锁死。
  • 资源释放:操作完成后关闭游标和连接,避免占用不必要的数据库资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:39:54