如果更新的值满足条件,则确实删除该行的MYSQL UPDATE查询

问题描述 投票:0回答:1

我想对数据库进行一次查询,以更新记录,但是如果此更改后的一条特定记录等于0,我想删除此行。可能吗?示例:

UPDATE `table` SET `row1`=`row1`+5, `row2`=`row2`+30 IF (row1 after the update == 0) DELETE WHERE `primarycolumn`=1

很明显,IF (row1 after the change == 0) DELETE部分只是不起作用的伪代码-是否可以创建一个使其以这种方式工作的查询?

mysql sql-update sql-delete
1个回答
0
投票

您不需要更新,然后检查是否为row1 = 0。在这种情况下删除:

DELETE FROM `table` 
WHERE `primarycolumn` = 1 AND `row1` + 5 = 0 

如果条件失败,则不会删除任何内容。然后执行UPDATE

UPDATE `table` 
SET `row1`= `row1`+ 5, `row2` = `row2` + 30 
WHERE `primarycolumn` = 1

如果未删除该行,将对其进行更新,但是如果删除该行,则将不会进行任何更新。

© www.soinside.com 2019 - 2024. All rights reserved.