使用MYSQL触发器更改基于另一列的列值

使用MYSQL触发器更改基于另一列的列值

问题描述:

我希望触发器能够在余额为0时更改状态= 1的值,并且只有在更新后余额值不等于0时,状态= 0。 。使用MYSQL触发器更改基于另一列的列值

Mysql Table

+0

在这里你可以找到[问]和如何建立一个[mcve] – Aleksej

+0

什么时候你想触发一个触发器? 插入??后 – Priyanshu

+0

@priyanshu更新后 – iTech

CREATE TRIGGER `db`.`trigger_name` 
AFTER INSERT ON `table_name` FOR EACH ROW 
BEGIN 
update table 
set status = case when new.balance = 0 then '1' else 0 end; 

,它将插入过程中检查的新的平衡值值和更新状态。 我希望这可以帮助。

CREATE TRIGGER `db`.`trigger_name` 
AFTER UPDATE ON `table_name` FOR EACH ROW 
BEGIN 
update table 
set status = case when balance = 0 then '1' else 0 end; 
+0

我需要的是更新后.. – iTech

+0

看到我的答案,它会检查整个表并更新。 – Priyanshu

使用new行来更新操作之前访问和更改值。

create trigger mytrigger 
before update on mytable 
for each row 
set new.status = (new.balance = 0); 

便利(在MySQL)true1false0