: (1054, “Unknown column ‘xxx‘ in ‘where clause‘“)问题解决方法

时间:2024-10-06 12:57:42

任务

mysql数据库用户表中加入用户头像图片,一般16M以下的图片类型选择MEDIUMBLOB即可。


遇到问题

pymysql向mysql插入图片数据时报错:: (1054, “Unknown column ‘xxx’ in ‘where clause’”)

    # 修改单行数据
    def db_update(self, sql, *args):
        result = self.cur.execute(sql, args)
        try:
            self.conn.commit()
        except Exception as e:
            print('db_update_data error:', e)
        print('修改语句受影响的行数:', result)

    db = connect_db()
    import pymysql
    fin = open(r'E:\聊天主界面\头像.jpg', 'rb')
    image = fin.read()
    print(type(image))
    sql = "UPDATE user_detail SET image = %s where nickname = 任我行"
    db.db_update(sql, image)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

做pymql向mysql数据库插入mediumblob类型数据,报错。
通过分析错误提示,是不知道这个column在哪。
所以问题在sql语句中的 where约束语句这里。

解决办法

将sql语句中的where后面的人名加上’’(单引号)

#由原来的where nickname =  任我行
 sql = "UPDATE user_detail SET image = %s where nickname = 任我行"

#变成 where nickname =  '任我行'
 sql = "UPDATE user_detail SET image = %s where nickname = '任我行'"
  • 1
  • 2
  • 3
  • 4
  • 5

问题得到解决,发现数据库的数据添加成功。