gpt4 book ai didi

mysql - MySQL 触发器中的条件值

转载 作者:行者123 更新时间:2023-11-29 22:39:51 24 4
gpt4 key购买 nike

我有一个关于 MySQL 触发器的问题 - 假设我有下表:

CREATE TABLE test (
id INT(6),
value_1 INT(6),
value_2 INT(6),
values_were_set BOOL
)

现在,每次我向该表中插入一个值时,我都希望触发器检查 value_1value_2 是否已设置。如果是,则应将 values_were_set 设置为 true。

允许

NULL 值。

我该如何解决这个问题?在真实的表中,我想要检查大约十列,所以我希望不必使用一堆 IF 语句。

也许在应用程序中执行此操作更好?

最佳答案

然后触发的是:

DELIMITER $$
CREATE TRIGGER value_check BEFORE INSERT ON test
FOR EACH ROW
BEGIN
IF NEW.value_1 IS NOT NULL AND NEW.value_2 IS NOT NULL THEN
SET NEW.values_were_set = 1;
ELSE
SET NEW.values_were_set = 0;
END IF;
END;
$$

不幸的是,如果您想检查字段的多个组合,我认为您需要在触发器中使用令人讨厌的 if/else 部分

关于mysql - MySQL 触发器中的条件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29405578/

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