effwwd 2024-06-18 11:28 采纳率: 0%
浏览 1

MySQL和Python连接制作的代码出现问题

img

img


删除数据出现了如图的错误,请问我该如何解决这个问题,希望能来个会的教教我

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-18 11:28
    关注

    引自免费微信小程序:皆我百晓生

    从提供的信息来看,遇到的问题是由于SQL查询语句中存在语法错误导致的。具体错误信息指出未知列 '警务人员 id'WHERE 子句中,这通常意味着在数据库表中并没有名为 '警务人员 id' 的列,但查询语句中却试图引用它。

    为了解决这个问题,首先需要确认数据库中的表结构,特别是涉及到的列名。假设表名为 police_officers,正确的列名应该是 officer_id 而不是 '警务人员 id'。接下来,我将提供一个修正后的删除记录函数示例,同时也会给出如何连接 MySQL 数据库并执行 SQL 查询的 Python 代码。

    步骤 1: 连接数据库

    确保你已经安装了 mysql-connector-python 库,如果没有安装,可以使用以下命令安装:

    pip install mysql-connector-python
    

    步骤 2: 编写连接和执行 SQL 查询的函数

    import mysql.connector
    
    def connect_to_db():
        # 创建数据库连接
        db = mysql.connector.connect(
            host="localhost",
            user="your_username",
            password="your_password",
            database="your_database"
        )
        return db
    
    def execute_sql(db, sql, params=None):
        cursor = db.cursor()
        try:
            if params:
                cursor.execute(sql, params)
            else:
                cursor.execute(sql)
            db.commit()
            print("Record deleted successfully")
        except Exception as e:
            print(f"Error: {e}")
            db.rollback()
        finally:
            cursor.close()
    
    # 使用示例
    db = connect_to_db()
    sql = "DELETE FROM police_officers WHERE officer_id = %s"
    params = (1,)  # 假设要删除的记录的 officer_id 是 1
    execute_sql(db, sql, params)
    db.close()
    

    步骤 3: 修改 delete_record 函数

    确保在调用 execute 方法时使用的列名正确无误。下面是一个修改后的示例函数:

    def delete_record(self, label, tree):
        selected_item = tree.selection()[0]
        primarykey = tree.item(selected_item)['values'][0]  # 假设 officer_id 是第一列
        db = connect_to_db()
        query = "DELETE FROM police_officers WHERE officer_id = %s"
        execute_sql(db, query, (primarykey,))
        db.close()
        # 更新界面逻辑...
    

    请根据实际的数据库表结构调整上述代码中的列名和表名。如果数据库表结构或列名与示例不同,请相应地调整 query 和其他涉及列名的部分。如果还有任何疑问或需要进一步的帮助,随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月18日

悬赏问题

  • ¥15 没输出运行不了什么问题
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)