2017-05-19 2 views
1

보이지 않는 부분이 있습니까? 왜이 오류가 발생하는지 알 수 없습니다. 그것은 심지어 정수를 요구하지 않아야합니다.1292 잘린 INTEGER 값이 잘림

MariaDB [ams]> describe server_current_status; 
+----------+-------------+------+-----+---------+----------------+ 
| Field | Type  | Null | Key | Default | Extra   | 
+----------+-------------+------+-----+---------+----------------+ 
| id  | int(11)  | NO | PRI | NULL | auto_increment | 
| serverid | varchar(20) | YES |  | NULL |    | 
| status | varchar(20) | YES |  | NULL |    | 
| notify | varchar(15) | YES |  | NULL |    | 
| totime | varchar(20) | YES |  | NULL |    | 
| fromtime | varchar(20) | YES |  | NULL |    | 
+----------+-------------+------+-----+---------+----------------+ 
6 rows in set (0.00 sec) 

MariaDB [ams]> UPDATE server_current_status SET notify = 'SOME' AND status = 'DOWN' WHERE serverid = '8'; 
Query OK, 0 rows affected, 2 warnings (0.04 sec) 
Rows matched: 1 Changed: 0 Warnings: 2 

MariaDB [ams]> show warnings; 
+---------+------+-------------------------------------------+ 
| Level | Code | Message         | 
+---------+------+-------------------------------------------+ 
| Warning | 1292 | Truncated incorrect INTEGER value: 'SOME' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'SOME' | 
+---------+------+-------------------------------------------+ 
2 rows in set (0.00 sec) 
+1

: 엔진은 그래서 엔진이 당신은 아마이 원하는

(0 또는 MySQL을/MariaDB에서 1 인) 부울에 'SOME' 변환을 시도

notify = ('SOME' AND (status = 'DOWN')) 

같은로 읽어 그것을 알아 냈다. 쉼표를 잊어 버렸습니다. 쉼표가 있어야하는 "AND"가 있습니다. –

답변

3
notify = 'SOME' AND status = 'DOWN' 

이 부울 식입니다 .

notify = 'SOME', status = 'DOWN' 
관련 문제