php - 股票的SQL语句中的减法

标签 php mysql laravel laravel-4

数据库列出了项目及其存货数量。当有人购买商品时,我希望更新数据库中的库存数量。

无论以下减法 f_item_number = f_item_number - $mugAmount,我的更新语句都不起作用。

如果我在数据库中有 200 个杯子。当我运行以下语句时,新的杯子数量随后被错误地列为 -1。而不是预期值199。这是为什么?

DB::update('UPDATE `shop_items` SET `f_item_number` = ? WHERE `f_item_name` = ?', array(`f_item_number` - $mugAmount, "mug"));

最佳答案

您不能在参数中传入数据库列文本。试试这个

DB::update('UPDATE `shop_items` SET `f_item_number` = `f_item_number` - ? WHERE `f_item_name` = ?', array($mugAmount, "mug"));

关于php - 股票的SQL语句中的减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471694/

相关文章:

php - Laravel 5.8 在验证规则中使用数组

php - 为什么我的集合结构不符合预期(不是我需要的)

php - Laravel 仓库

php - Codeigniter - 返回我的模型对象而不是 stdClass 对象

javascript - 如果数据由ajax填充,如何隐藏下拉列表

mysql - 如何通过管道下载、解压并导入到mysql转储?

Mysql query-weighted average with group by 和 max timestamp

php - 盐是包含在 phpass 哈希中还是您需要对其输入加盐?

php - 我正在处理产品列表过滤器,但没有获得一种条件的逻辑,建议我进行更改

mysql - 在同一个 select 子句中使用 count(*) 和 * 会报错。为什么?