关于修改的问题
来源:1-11 实战:完成新闻管理系统的用户模块
努力而奋斗的蜗牛
2019-10-16 13:43:38
老师写的修改好像是必须全部都得修改一遍,如果我只想修改用户名或者只想修改用户角色呢?
2回答
EricDC_Wu
2020-01-11
同学你好:
我也是想到这个问题,然后自己写了一个可以选择改某一信息的,通过字典保存不同SQL语句,用户传入修改的选项,执行不同语句,可以参考下
# 修改用户信息 def update_user(self, num, info, _id): try: sql_dict = { 1: "UPDATE t_user SET username = %s WHERE id = %s", 2: "UPDATE t_user SET password = HEX(AES_ENCRYPT(%s, 'HelloWorld')) WHERE id = %s", 3: "UPDATE t_user SET email = %s WHERE id = %s", 4: "UPDATE t_user SET role_id = %s WHERE id = %s", } con = pool.get_connection() con.start_transaction() cursor = con.cursor() cursor.execute(sql_dict[num], (info, int(_id))) con.commit() except Exception as e: if "con" in dir(): con.rollback() print(e) finally: if "con" in dir(): con.close()
好帮手乔木
2019-10-16
同学你好:
原理都是相同的。
同学只要修改想要修改的字段即可。
#只修改用户名 sql="UPDATE t_user SET username=%s " \ "WHERE id=%s" cursor.execute(sql,(username,id)) # 修改角色 sql="UPDATE t_user SET role_id=%s " \ "WHERE id=%s" cursor.execute(sql,(role_id,id))
相对应的参数列表也就需要修改。
如果我解决了同学的问题,请采纳!学习愉快^_^。
相似问题