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

¿Qué es este error? Consulta de base de datos fallida:datos truncados para la columna 'column_name' en la fila 1

'' y null no son lo mismo. si su servidor mysql está en modo estricto, se negará a realizar la inserción ya que ha pasado datos no válidos para la columna. sin modo estricto, devuelve una advertencia.

mysql> create table a (a float not null);
Query OK, 0 rows affected (0.11 sec)

mysql> insert a values ('');
Query OK, 1 row affected, 1 warning (0.05 sec)

mysql> show warnings;
+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1265 | Data truncated for column 'a' at row 1 |
+---------+------+----------------------------------------+
1 row in set (0.00 sec)

mysql> set sql_mode = 'STRICT_ALL_TABLES';
Query OK, 0 rows affected (0.02 sec)

mysql> insert a values ('');
ERROR 1265 (01000): Data truncated for column 'a' at row 1

inserte null explícito s, o ni siquiera especifique la columna en el inserto.

cuando esté actualizando, puede enviar todos los valores que tenga porque mysql ignorará automáticamente los que no hayan cambiado.