Estoy compilando una aplicación PHP/MySQL y estoy teniendo un problema con mi consulta de creación y actualización. Tengo 5 columnas configuradas para escribir FLOAT que también están configurados como columnas NULL. No planeo llenarlos hasta mucho más tarde en el flujo de trabajo.¿Qué es este error? "Error en la consulta de la base de datos: Datos truncados para la columna 'column_name' en la fila 1
Sin embargo, necesito crear nuevos registros para esta base de datos, y necesito editar los registros existentes, sin tocando estos 5 campos flotantes. Estoy usando OOP PHP que usa un método estándar save()
que verifica si existe una identificación en el objeto. Si no, llama al create()
, y si es así, llama al update()
. bueno, generalmente.
Los métodos update()
y create()
están diseñados para extraer de una matriz de atributos protected static $db_fields
declarada en la parte superior de cada Clase, que contiene todos los campos utilizados en esa tabla. update()
y create()
se ejecutan a través de esa matriz y INSERT INTO
o UPDATE
en SQL, en consecuencia.
Tengo entendido que si usa ''
(dos comillas simples, vacías), SQL omitirá esas solicitudes INSERT INTO
o UPDATE
y las dejará como NULL. Ni siquiera hay campos de formulario para esos 5 valores flotantes en ninguna parte de la página, por lo que, por supuesto, cuando se ejecutan los métodos, los valores van a ser ''
.
¿Es por eso que aparece el error "Datos truncados"? Parece diferente. No he visto el error truncado antes y es por eso que vengo a ustedes genios. Gracias.
Mi corazonada es que MySQL espera que los valores que se escriban en un campo FLOAT sean al menos numéricos o NULL. ¿Has intentado usar NULL en lugar de ''? – jkndrkn