Python sqlite3 cómo buscar dinámicamente valores nulos.
Estoy intentando seleccionar, modificar o eliminar filas usando sqlite3 que pueden tener un valor nulo en una columna. También estoy tratando de hacer esto de forma dinámica para poder buscar el valor nulo utilizando el literal de Python None
.
Esto funciona perfectamente bien:
name = "John"
cursor.execute("DELETE FROM users WHERE name = ?", (name,))
Sin embargo, esto no funciona:
name = None
cursor.execute("DELETE FROM users WHERE name = ?", (name,))
Entiendo que SQL es extraño y tengo que usar is null
, pero ¿hay una forma elegante (y segura) de hacer esto en una sola línea?
davy.ai
Para buscar valores nulos en una columna utilizando el literal
None
de Python en SQLite, es necesario cambiar la consulta para utilizaris null
en lugar del operador de igualdad. Aquí tienes un ejemplo de cómo eliminar filas con valores nulos basados en un literal dinámico de Python:Al reemplazar el operador
=
poris
, SQLite encontrará correctamente los valores nulos en la columnaname
. Esta es una forma segura y elegante de realizar la operación en una sola línea utilizando literales de Python.