如果在另一个行中删除行,如何更新表

时间:2014-01-19 17:43:52

标签: php mysql delete-row

我有一个包含产品的表......类似于

productname | price | category .... .... ...

类别包含INT值,它是所选类别的ID

id | categoryname | categorydescription ... ...

当我删除一个类别(因为这是我用PHP制作的电子商务网站,因此用户可以随意管理和删除类别)时,我希望所有类别为已删除类别ID的产品设置为值为0,换句话说,没有类别集。

我想知道如何只使用MYSQL,并告诉我是否应该通过PHP代码来实现。

3 个答案:

答案 0 :(得分:1)

我希望你可以使用触发器。这是未经测试的。这是我的档案。请检查。

CREATE TRIGGER del_cat_prod AFTER DELETE on category
FOR EACH ROW
BEGIN
update products set category_id  = 0 where category_id  = old.id;        
END

答案 1 :(得分:0)

希望这会对你有所帮助

UPDATE products SET category = 0 WHERE category = 'ur id' ;

答案 2 :(得分:0)

我认为你可以使用触发器。

http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html