Я пытаюсь уйти от вашего вопроса и ваших комментариев. Может быть, вы хотите что-то вроде следующего, где вы полагаетесь на значение Falsey при неудачном поиске:
import pymysql
db= pymysql.connect("localhost","testuser","admin","TESTDB")
cursor =db.cursor()
age= input("Please select an age:\n")
cursor.execute("SELECT age FROM STUDENTS WHERE age=%s", (age,))
data = cursor.fetchall()
if data:
print("Age exists")
else:
print("Age does not exist")
Этот вид поиска не требует каких-либо commit
или rollback
, вы просто запрашиваете базу данных, поэтому последняя часть вашего кода не имеет смысла для меня.
Ваш текущий запрос вернет все случаи, когда age
равно вашему текущему значению. Если целью является просто посмотреть, существует ли , вы можете ограничить запрос и использовать вместо него fetchone()
.
cursor.execute("SELECT age FROM STUDENTS WHERE age=%s LIMIT 1", (age,))