gpt4 book ai didi

mysql - 根据逻辑参数向表中添加一列,并具有 4 个可能的默认值

转载 作者:行者123 更新时间:2023-11-29 21:15:06 25 4
gpt4 key购买 nike

如何根据满足特定条件的每一行向表格添加编号为 1 到 4 的列?

假设我有一张 table : Like this有两列 (ID) 和 (RESULTS),我想添加第三列,称为 (SCORE)。

我想根据列(结果)中的数字是否满足特定条件,为列中的每一行给出一个分数(1 到 4 之间)。

如果结果是否定的,我想给它打1分,如果 RESULT 小于 30,则得分为 2,低于100分3分大于 100 则得分为 4

我尝试过使用 CASE 语句,但似乎无法让它工作;我搜索了有关约束的主题,但它们似乎总是有两个参数 - 我需要 4

最佳答案

我已经更新了答案,因为问题中给出了更多详细信息(并修复了一些错误)

请记住将 table_name 和 trigger_name 更改为适当的名称:)。

解决方案:

您应该首先将第三列添加到表格中

ALTER TABLE table_name ADD COLUMN SCORE INT;

您应该添加触发器来设置新行的 SCORE:

DELIMITER $$
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN

SET NEW.SCORE = CASE WHEN NEW.RESULTS < 0 THEN 1 WHEN NEW.RESULTS < 30 THEN 2 WHEN NEW.RESULTS < 100 THEN 3 ELSE 4 END;

END$$
DELIMITER ;

并且您应该初始化表中现有行的 SCORE 值

UPDATE      table_name t
SET t.SCORE = CASE WHEN t.RESULTS < 0 THEN 1 WHEN t.RESULTS < 30 THEN 2 WHEN t.RESULTS < 100 THEN 3 ELSE 4 END;

希望有帮助。

关于mysql - 根据逻辑参数向表中添加一列,并具有 4 个可能的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36015555/

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