Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL 'Abgeschnittener falscher INTEGER-Wert'

Es ist kein Fehler. Es ist eine Warnung, die von CONVERT() kommt, wenn Sie es auffordern, nicht-numerische in ganze Zahlen umzuwandeln;

Führen Sie diese Abfragen in der Konsole aus, um Folgendes anzuzeigen:

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)

Wie gesagt, es ist eine Warnung, kein Fehler. Ihre Abfrage sollte die Aktualisierung korrekt durchführen.