将表的状态更改为在mysql中将新值插入另一个表时更新

时间:2013-11-30 22:15:27

标签: php mysql

我有两张彼此相关的牌桌。我想在table 1中插入新值并将table 2返回mysqli_affected_rows()

时,将table 1状态更改为已更新

表1:产品

id    |   name
 1    |  product

表1:类别

id    |   name   |  product_id
 1    |   cat 1  |      1
 2    |   cat 2  |      1

这可能吗?!

1 个答案:

答案 0 :(得分:0)

您显示表的结构,但不包括任何应更新的列。这让我觉得你真的不想要更新。您只需要一个返回给定产品是否在类别表中的查询。

如果是这样,以下可能会做你想要的:

select p.*,
       coalesce( (select 1 from categories c where c.productid = p.id limit 1), 0) as InCategories
from products p;

如果您尝试使用另一个将值实际存储在表中的路径,则需要使用存储过程或触发器。但是,请考虑删除或更新行时会发生什么。 insert不是修改表格中数据的唯一方法。