Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O que é este erro? Falha na consulta do banco de dados:dados truncados para a coluna 'column_name' na linha 1


'' e null não são os mesmos. se o seu servidor mysql estiver em modo estrito, ele se recusará a fazer a inserção, pois você passou dados inválidos para a coluna. sem o modo estrito, ele retorna um aviso.
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

ou insira null explícito s, ou nem mesmo especifique a coluna na inserção.

quando você está atualizando você pode enviar todos os valores que você tem porque o mysql irá ignorar automaticamente os inalterados.