如何在表中设置一列,其中另一个表中的列具有特定值?

时间:2012-03-01 19:58:02

标签: php mysql

我有两个表,一个包含很多产品信息,例如product_name product_id等,另一个包含product_ids列表以及该产品是否标记为出售。我希望能够创建一些我可以通过Chron作业定期运行的内容,该作业将查看table1.product_discount_id,如果该产品在该列中的任何内容中的任何内容都不是0,则会将table2.product_on_sale更新为yes。我无法理解如何确保我只更改折扣ID为0以外的任何产品的字段。我在PHP脚本中有这么远:

mysql_connect("myhost", "mydb", "mypassword") or die(mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT * FROM jos_vm_product WHERE product_discount_id != '0'");
while($row = mysql_fetch_array($result))
  {
 echo $row['product_id'];
  echo ",";
  }

这将产生我希望将table2.product_on_sale字段更改为yes的产品的product_id列表。我想说,如果之前检索的产品ID与table2.product_on_sale字段中的product_id匹配,则更改为yes。任何帮助将不胜感激。

此致 阿里。

2 个答案:

答案 0 :(得分:0)

您不应该使用cron作业进行更新,而是使用select中的联接来查找正在销售的内容

答案 1 :(得分:0)

mysql_query("update table1, table2 set table2.product_on_sale=true where table1.product_id=table2.product_id and table1.product_discount_id!=0")