Для запроса под терминалом MySQL и MySQL Workbench дает тот же результат, но PHP дает другой результат. < /p>
Я хочу уменьшить один элемент из количества. Но в PHP (Codeigniter с соединением PDO) он вычитает два элемента из количества. < /P>
Я не выполняю этот запрос дважды (в цикле). < /P>
UPDATE tbl_stock tsk,
(SELECT
tsk.id_stock, tsk.qty
FROM
tbl_store ts
inner join tbl_stock tsk ON ts.id_store = tsk.id_store
where
ts.id_physical_place = 2
and ts.store_status = 1
and tsk.stock_status = 1
and tsk.id_products = 796
limit 1) tmp
SET
tsk.qty = (if(tmp.qty >= 1,
(tmp.qty - 1),
ifnull(tmp.qty, 0)))
WHERE
tsk.id_stock = tmp.id_stock
< /code>
Из терминала: < /p>
Query OK, 1 -й строка, 2 предупреждения (0,03 с)
Rows Соответствует: 1 Изменено: 1 Предупреждение: 0 < /p>
Примечание (Code 1592): 1 За утверждение BinarAt, использующее оператор BRIN, Sake Sake Wromplorm. Заявление небезопасно, потому что он использует ограниченную предложение. Это небезопасно, потому что набор включенных строк не может быть предсказан.
Note (Code 1592): небезопасное оператор, записанный в бинарный журнал, используя формат оператора с момента оператора binlog_format =. Заявления, написанные в таблице с столбцом автоматического ввода после выбора из другой таблицы, небезопасны, потому что порядок, в котором извлекаются строки, определяет, что (если таковые имеются), будут записаны строки. Этот приказ не может быть предсказан и может отличаться от мастера и рабов.
Подробнее здесь: https://stackoverflow.com/questions/222 ... odeigniter
MySQL обновление с запятой в подборе в Codeigniter [закрыто] ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение