php - 更新在另一个表中找到记录的一个表

标签 php mysql

我真的很苦恼如何实现这一目标,希望有人能帮助我。我有现有的功能和查询:

public function setStockAndPrice($product_id) {
  $query = $this->db->query('UPDATE ' . DB_PREFIX . 'product SET quantity = 0, price = 0.00 WHERE product_id = ' . (int)$product_id)
}

这可行,但当我实际上希望它仅在该产品存在于另一个表中时将产品设置为零时,它会将所有产品设置为零。

即,用解释性的术语来说:

public function setStockAndPrice($product_id) {
  $query = $this->db->query('UPDATE ' . DB_PREFIX . 'product SET quantity = 0, price = 0.00 WHERE product_id = ' . (int)$product_id AND product_id exists in CustomerProducts)
}

我不太熟悉联接,但我不确定是否需要在此处使用联接,因为查询似乎比这更简单。

有人能指出我正确的方向吗?

最佳答案

  public function setStockAndPrice($product_id) {
  $query = $this->db->query('UPDATE ' . DB_PREFIX . 'product SET quantity = 0, price = 0.00 WHERE product_id = ' . (int)$product_id ." AND product_id =(select DISTINCT(product_id) from CustomerProducts where product_id= $product_id)" )
  }

这可能有效。

关于php - 更新在另一个表中找到记录的一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16033224/

相关文章:

mysql - 根据某个字段值将结果分组并在一行中获取结果

java - 我如何在 mysql 数据库更新后立即运行脚本(cronjob)

mysql - 尝试为该 SQL 查询找出可能的最佳索引

php - 从 php 插入 mysql 将日期字段保存为 00 :00:00 instead of NULL

javascript - 尝试输出从服务器返回的 json 数据时,值显示未定义

php - MYSQL SELECT 如何知道有没有被选中

php - 使用逗号分隔值 mysql 进行搜索

php - 在 WooCommerce 产品上显示自定义前缀以及每米价格

php - 使用 Laravel 返回一对多 Eloquent 关系中的最后一条记录

php - 启用 error_reporting 后,Mongo 将不会加载 phpinfo