为什么修改失败sql1 = "SELECT * FROM table01 where num=" + del_id + ";" try: cursor.execute(sql1) results = cursor.fetchall() if results: for i in results: print(f'姓名:{i[1]}\t,性别:{i[2]}\t,学号:{i[3]}') name = input('修改后的姓名:') sex = input('修改后的性别:') print(name) print(sex) # 执行修改操作的SQL语句,使用格式化字符串方式 sql2 = f"update table01 set name='{name}',sex='{sex}' where num='{del_id}';" cursor.execute(sql2) cursor.commit() except: print('数据修改失败')
时间: 2023-06-10 08:04:32 浏览: 121
修改失败可能是由于缺少num后面的del_id,导致sql1语句无法正确执行。建议修改为sql1 = "SELECT * FROM table01 where num=" + str(del_id) + ";",将del_id转换为字符串并拼接到sql1语句中。另外,修改后的姓名和性别应该写入到数据库中,需要构造update语句并执行。
相关问题
sql1 = "SELECT * FROM table01 where num='searchid';" try: cursor.execute(sql1) results = cursor.fetchall() print(results) for i in results: print(f'姓名:{i[1]}\t,性别:{i[2]}\t,学号:{i[3]}') # print(i) except: print('数据查询失败')
这段代码是从名为 table01 的表里根据 num 进行搜索,并将搜索结果打印出来。其中 searchid 是变量,可以根据需要更改。查询结果会存储在 results 中,然后通过 for 循环将每一条数据按固定的格式打印出来,包括姓名、性别和学号。
为什么执行这个代码没有数据sql1 = "SELECT * FROM table01 where num='searchid';" try: cursor.execute(sql1) results = cursor.fetchall() print(results) for i in results: print(f'姓名:{i[1]}\t,性别:{i[2]}\t,学号:{i[3]}') # print(i) except: print('数据查询失败')
执行这个代码没有数据是因为SQL语句中的searchid没有被替换为需要查找的实际值。应该将语句改为:sql1 = "SELECT * FROM table01 where num='" + searchid + "';",其中searchid是实际需要查询的值。如果searchid没有被正确赋值,也会出现没有数据的情况。
阅读全文