python 3.x - mac - Comprobación de Python si existe en SQLite3
instalar django en windows (1)
Pruebe esto en su lugar:
c.execute("SELECT EXISTS(SELECT 1 FROM airports WHERE ICAO=''EHAM'')")
if c.fetchone():
print("Found!")
else:
print("Not found...")
El valor de retorno de cursor.execute
es el cursor (o para ser una referencia más precisa a sí mismo) y es independiente de los resultados de la consulta. Puede verificar fácilmente que:
>>> r = c.execute("SELECT EXISTS(SELECT 1 FROM airports WHERE ICAO=''EHAM'')")
>>> r is True
False
>>> r is False
False
>>> r is None
False
>>> r is c
True
Por otro lado, si llama a cursor.fetchone
result tuple o None si no hay ninguna fila que pase las condiciones de consulta. Entonces en tu caso if c.fetchone():
significaría uno de los siguientes:
if (1, ):
...
o
if None:
...
Estoy tratando de verificar si existe una variable en un SQLite3 db. Lamentablemente, parece que no puedo hacer que funcione. La tabla de aeropuertos contiene 3 columnas, con ICAO como primera columna.
if c.execute("SELECT EXISTS(SELECT 1 FROM airports WHERE ICAO=''EHAM'')") is True:
print("Found!")
else:
print("Not found...")
El código se ejecuta sin ningún error, pero el resultado siempre es el mismo (no encontrado).
¿Qué está mal con este código?