Para insertar valores nulos en la base de datos tienes dos opciones:
- omita ese campo de su instrucción INSERT, o
- usar
None
Además:para protegerse contra la inyección de SQL, no debe usar la interpolación de cadenas normal para sus consultas.
Debe pasar dos (2) argumentos a execute()
, por ejemplo:
mycursor.execute("""INSERT INTO products
(city_id, product_id, quantity, price)
VALUES (%s, %s, %s, %s)""",
(city_id, product_id, quantity, price))
Alternativa #2:
user_id = None
mycursor.execute("""INSERT INTO products
(user_id, city_id, product_id, quantity, price)
VALUES (%s, %s, %s, %s, %s)""",
(user_id, city_id, product_id, quantity, price))