MYSQL 如果更新的值满足条件,则更新查询确实会删除该行
MYSQL UPDATE query that does delete the row instead, if updated value meets condition
我想对将更新记录的数据库进行一次查询,但如果此更改后的某个特定记录等于 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
部分只是不起作用的伪代码 - 是否可以创建一个查询使其以这种方式工作?
您不需要更新然后检查是否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
如果该行未被删除,它将被更新,但如果它被删除,则不会更新任何内容。
我想对将更新记录的数据库进行一次查询,但如果此更改后的某个特定记录等于 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
部分只是不起作用的伪代码 - 是否可以创建一个查询使其以这种方式工作?
您不需要更新然后检查是否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
如果该行未被删除,它将被更新,但如果它被删除,则不会更新任何内容。