Обращаюсь к базе с запросом
UPDATE `departure`
SET `register_pay_id` = '77'
WHERE `author` = '15'
AND `register_pay_id` = 'without_register_pay'
AND `akt_id` = 'without_act'
AND `status_code` = 4
Обратно получаю ответ
Ошибка
SQL запрос:
UPDATE `departure`
SET `register_pay_id` = '77'
WHERE `author` = '15'
AND `register_pay_id` = 'without_register_pay'
AND `akt_id` = 'without_act'
AND `status_code` = 4
Ответ MySQL: Документация
#1292 - Truncated incorrect DOUBLE value: 'ERR_INVALID_DISPATCHNUMBER'
Не пойму в чем причина, может по тому что в set и в where присутствуют одинаковые названия полей register_pay_id? Как это возможно решить?
для инфо в register_pay_id значения varchar(255)
Это сообщение означает, что вы пытаетесь сравнить число и строку в предложении WHERE.
Хранить строки и числа в одних полях плохая практика.
По хорошему у всех ваших полей должен быть тип int.
И вместо значений without_register_pay и without_act должен быть NULL.
Так же, чтобы убрать ошибку, вы можете отключить строгий режим для MySQL убрав значение STRICT_ALL_TABLES для настройки sql_mode в конфигурационном файле my.cnf.
UPDATE `departure`
SET `register_pay_id` = '77'
WHERE `author` = '15'
,`register_pay_id` = 'without_register_pay'
,`akt_id` = 'without_act'
,`status_code` = 4
AND исправь на , ты же SET делаешь
Сборка персонального компьютера от Artline: умный выбор для современных пользователей