我试图从用户那里获取输入并在数据库表中搜索它。但是我的if语句工作不正常,它对存在的值和不存在的值显示相同的结果。包含名、姓、年龄、收入、学位的学生表
我把年龄作为用户输入。if语句不能正常工作。下面是我的代码:我尝试了许多不同的场景
import pymysql
db= pymysql.connect("localhost","testuser","admin","TESTDB")
cursor =db.cursor()
age= input("Please select a age:\n")
cursor.execute(f"SELECT AGE FROM STUDENTS WHERE age={age}")
results=cursor.fetchall()
print(results)
if (results ==age):
print("age exit!")
else:
print("not exists")
try:
db.commit()
except:
db.rollback()
db.close()
1条答案
按热度按时间dgenwo3n1#
我试着回避你的问题和评论。可能您希望在失败的查找中使用假值:
这种查找不需要任何类型的
commit
或者rollback
,您只是在查询数据库,所以代码的后一部分对我来说没有意义。您当前的查询将返回
age
等于当前值。如果目的只是查看它是否存在,那么可以限制查询和使用fetchone()
相反。