MySQL 5.7エラー:エラー1292(22007):切り捨てられた誤ったDOUBLE値: 'CR40020180611004'



Mysql 5 7 Error Error 1292



In the production environment update a statement error: ERROR 1292 (22007): Truncated incorrect DOUBLE value: 'CR40020180611004' Network queries are caused by inconsistent data types. -- View the type of table: mysql> desc sc_stockorder_2.outstockorder +-------------------+---------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +-------------------+---------------+------+-----+-------------------+-----------------------------+ | id | bigint(20) | NO | PRI | NULL | | | RefOrderNo | varchar(50) | NO | MUL | NULL | | | Org_Id | int(11) | NO | | NULL | | | BatchNo | varchar(50) | YES | MUL | | | | Batch_Id | varchar(50) | YES | MUL | | | | State | tinyint(4) | YES | | 0 | | ... mysql> select state,reforderno from sc_stockorder_2.outstockorder where reforderno=402828300248 +-------+--------------+ | state | reforderno | +-------+--------------+ | 1 | 402828300248 | +-------+--------------+ 1 row in set, 23288 warnings (0.48 sec) mysql> update sc_stockorder_2.outstockorder set state = 3 where reforderno in (402828300259,402828300248) ERROR 1292 (22007): Truncated incorrect DOUBLE value: 'CR40020180611004' mysql> update sc_stockorder_2.outstockorder set state=3 where reforderno='402828300248' Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 The cause of the error: The value in the where condition passed in the wrong data type. Reforderno is of type bigint but is actually stored. The specific reason is to be checked!