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 ответ
notify = 'SOME' AND status = 'DOWN'
Это логическое выражение. Двигатель читает это как то
notify = ('SOME' AND (status = 'DOWN'))
Таким образом, двигатель пытается конвертировать 'SOME'
к логическому (который 0
или же 1
в MySQL/MariaDB)
Вы, вероятно, хотите это:
notify = 'SOME', status = 'DOWN'