sql >> Base de Datos >  >> RDS >> Mysql

Insertar valor NULL en un tipo de datos doble MySQL Python

Esto no es del todo sorprendente. En primera instancia, está insertando la constante predefinida de Python Ninguna

Eso equivale a SQL NULL . En la segunda instancia, está insertando una Cadena llamada 'Ninguno' en la tabla. Estos dos son muy diferentes. Si inserta una cadena en un campo doble o flotante, verá todo tipo de errores, con mayor frecuencia, exactamente el mismo que ha visto.

en primera instancia funciona porque has declarado :

 `float8value` double DEFAULT NULL,

Esto acepta NULL y Ninguno está en el octavo lugar en su lista de valores. Cuando se usan muchos parámetros diferentes, siempre es una buena idea usar parámetros con nombre para que sea obvio de un vistazo qué se vincula a cada columna.

Actualizaciones:

Después de ejecutar su código, la única conclusión a la que se puede llegar es que ha encontrado un error al usar print(cursor.statement) es posible descubrir que la consulta ejecutada es.

INSERT INTO runsettings (apcrunid,equipment,runnumber,wafer,settingname,intvalue,floatvalue,float8value) 
VALUES (471285,'CT19',7,'271042','Etch Time Min',NULL,NULL,NULL),
       (471285,'CT19',7,'00000','Etch Time Min',NULL,NULL,'None')

Esto no produce un error, pero si borra el primer conjunto de valores, el error sí se produce. Mi recomendación es presentar un informe de errores