gpt4 book ai didi

MYSQL 根据表值更改值(约束还是触发器?)

转载 作者:行者123 更新时间:2023-11-29 13:53:25 27 4
gpt4 key购买 nike

关于 MYSQL 语法的几个问题,在 google 上似乎很难找到这些答案。是否可以设置约束或触发器,以便当列的值达到某个点时它会被重置并完成其他操作。或者,如果 hourLog 大于零,则许可证状态将从默认值 INVALID 更改为 Valid。

我知道所有这些都可以通过使用数据库的程序来完成,但只是好奇是否有 MYSQL 命令可以使用触发器或约束自动执行此操作。

抱歉,如果这是发布的,我只是在寻找类(class)的快速澄清。

最佳答案

您可以使用这两个触发器,一个用于更新,一个用于插入:

CREATE TRIGGER upd_yourtable BEFORE UPDATE ON yourtable 
FOR EACH ROW
SET new.licenseStatus=
CASE WHEN new.hourLog>0 THEN 'Valid' ELSE 'INVALID' END
;

CREATE TRIGGER ins_yourtable BEFORE INSERT ON yourtable
FOR EACH ROW
SET new.licenseStatus=
CASE WHEN new.hourLog>0 THEN 'Valid' ELSE 'INVALID' END
;

请参阅 fiddle here .

关于MYSQL 根据表值更改值(约束还是触发器?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16310228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com