sql >> Databasteknik >  >> RDS >> Mysql

MySQL "Trunkerat felaktigt INTEGER-värde"

Det är inte ett fel. Det är en varning som kommer från CONVERT() när du ber den att konvertera icke-numeriska till heltal;

Kör dessa frågor i konsolen för att se:

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)

Som sagt, det är en varning, inte ett fel. Din fråga bör göra uppdateringen korrekt.



  1. Är SQL Server 'MONEY' datatyp en decimal flyttal eller binär flyttal?

  2. JSON_MODIFY() Exempel i SQL Server (T-SQL)

  3. Jag har en rad heltal, hur använder jag var och en i en mysql-fråga (i php)?

  4. Hur man formaterar ett tal som valuta i Oracle