任务
向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
问题得到解决,发现数据库的数据添加成功。