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

MySQL 'Valor INTEGER incorreto truncado'


Não é um erro. É um aviso que vem de CONVERT() quando você pede para converter não numérico em inteiro;

Execute estas consultas no console para ver:
mysql> SELECT CONVERT(right('1s23d45678', 7), SIGNED INTEGER);
+-------------------------------------------------+
| CONVERT(right('1s23d45678', 7), SIGNED INTEGER) |
+-------------------------------------------------+
|                                               3 |
+-------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> SHOW WARNINGS;
+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '3d45678' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

Como eu disse, é um aviso, não um erro. Sua consulta deve estar fazendo a atualização corretamente.