2017-10-08 131 views
0

我想做以下操作删除子查询的MySQL更新

Delete all the records from a table called survey and then set the status of deleted reference numbers to zero(0) which is in other table

,我现在用的查询低于

Update ref_numbers rn SET rn.status = 0 where ref_no IN (DELETE FROM survey WHERE id < 302) 

但此查询不工作,我也累了修改像DELETE ref_no FROM survey......删除查询但它仍然不工作。我想我错过了一些我不知道的东西。

任何帮助将不胜感激。

回答

1

您无法在相同的操作中删除和更新。 (1)触发器 - 在子表上使用AFTER触发器维护引用计数,或者(2)视图 - 在父视图中创建引用计数作为相关子查询表。

+0

好吧,触发器会被删除后? – faisal1208

+0

无论发生什么事件都会导致您想要记录的引用计数发生变化。这可能意味着在删除后和插入后。如果还可以更改现有子记录的父项(不寻常),则还需要AFTER UPDATE。 –