【问题标题】:Subtract a value from a field on database从数据库中的字段中减去一个值
【发布时间】:2018-06-05 11:59:48
【问题描述】:

我有一个问题,我想在添加记录时从表中的字段中减去 1 个值。

我有两张桌子

利弗罗斯

  • CodLivro
  • 名称
  • 总计

Vendidos

  • CodVenda
  • CodLivro
  • 名称

假设总数为 20,当我出售一本书时,我想从该字段中删除一个值。

当前代码是

 case "vender_l":
{
    $stmt = $conn->prepare("INSERT INTO Vendidos (CodLivro, Nome) VALUES (:CodLivro, :Nome)");
    $stmt->bindParam(':CodLivro', $CodLivro);
    $stmt->bindParam(':Nome', $Nome);


    break;
}   

【问题讨论】:

  • 当我出售一本书时,我想从该字段中删除一个值。 提示更新
  • 当一本书售出时,您需要减去数量。即更新库存设置数量 = 数量 - 1 其中 id = 已售书籍 AND 数量 >= 0
  • "假设总数为 20,当我出售一本书时,我想从该字段中删除一个值。"这对于也说表和列名称所在语言的人来说可能是有意义的,但对于那些不会说该语言的人来说绝对没有意义。请牢记这一点,编辑您的问题。
  • 我怎样才能从这个总数中减去一个值?有没有可以做到的功能
  • - 运算符。

标签: php sql pdo


【解决方案1】:

使用此代码,它应该可以工作。

UPDATE Livros SET Total = Total-1 WHERE Livros.CodLivro = :CodLivro;

【讨论】:

    【解决方案2】:

    我认为 Masivuye Cokile 的评论是对的......

    让我们将表和列的名称放在示例中:

    update Livros 
    set total = total - 1
    where codLivro = 10 -- 10 is an example of a book id  
      and total > 0     -- prevents the number of books from being negative
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多