php - 如果在另一行中删除了一行,如何更新表

标签 php mysql delete-row

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

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

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

id | categoryname | categorydescription ... ...

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

我想知道如何仅使用 MYSQL 执行此操作,如果我应该通过 PHP 代码执行此操作,请告诉我。

最佳答案

我希望你可以使用触发器。这是未经测试的。它来 self 的文件。请检查。

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

关于php - 如果在另一行中删除了一行,如何更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220316/

相关文章:

android - 在 SQLite Android 中使用多个 WHERE 删除行

php - 何时在 Laravel 中使用事件

php - Symfony2 禁用缓存?

MYSQL:帮助快速更新

mysql - 需要获取最近 10 个活跃主题的用户

java - 删除选定行时避免删除第一行

java - 在 2 点之间查找字符串并在另外 2 点之间移动

php - 死锁和超时破坏 ACID 事务

php - 在数据库表中有两个唯一 ID 是个坏主意吗?

jquery - 将参数发送到模式,然后删除行