1
由于编码不良,当任何用户试图从Joomla后端删除联系人类别(SQL 5.5)时,我们的网站会发生心脏病。它不是将其删除,而是将“已发布”列更新为-2(其中1已发布,-1未发布)。无法找到导致此问题的原因,我们几乎立即转移到试图创建触发器来完全删除该类别。更新将列设置为特定值时删除行
CREATE TRIGGER `PermaDelete`
AFTER UPDATE
ON `nac_categories`
FOR EACH ROW
DELETE FROM nac_categories WHERE (NEW.published = -2);
我收到的错误是
Error
Can't update table 'nac_categories' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. SQL=UPDATE `nac_categories` SET published = -2 WHERE (lft > 0 AND rgt < 0) OR id = 36
基本上,我只是想删除的类别发布更新为-2
SQL server或mysql? – Kason
你的代码就像mysql语法。 – Kason
如果你做了'DELETE FROM NEW WHERE(NEW.published = -2);' –