gpt4 book ai didi

mysql - MYSQL中的触发器根据插入的值更新不同的列

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

我在数据库中有一个结构,其中有一个问题表,其中包含 4 列结果,因此,int id,字符串问题,int a,int b,int c,int d

以及答案表,其中包含int id,int user_id,int Question_id,字符串answer。

现在答案表中的答案可以是 a、b、c 或 d,在问题表中我有每个答案的数量。

我想要做的是创建一个触发器,当插入新答案时,该触发器将自动增加相应列上的值。

DELIMITER $$
DROP TRIGGER IF EXISTS `answer_INSERT` $$
CREATE TRIGGER `answer_INSERT`
AFTER INSERT ON `answer`
FOR EACH ROW
BEGIN
IF(answer.answer LIKE ('a'))
UPDATE `question` SET `a`=`a`+1 WHERE `id`=answer.question_id
ELSE IF(answer.answer LIKE ('b'))
UPDATE `question` SET `b`=`b`+1 WHERE `id`=answer.question_id
....
END $$
DELIMITER ;

我知道代码并不完全正确,但这或多或少是我想要做的。

最佳答案

DELIMITER $$
DROP TRIGGER IF EXISTS `answer_INSERT` $$
CREATE TRIGGER `answer_INSERT`
AFTER INSERT ON `answer`
FOR EACH ROW
BEGIN
IF NEW.answer = 'a' THEN
UPDATE `question` SET `a` = `a`+1 WHERE `id` = NEW.question_id;
ELSEIF NEW.answer = 'b' THEN
UPDATE `question` SET `b` = `b`+1 WHERE `id` = NEW.question_id;
END IF;
END $$
DELIMITER ;

关于mysql - MYSQL中的触发器根据插入的值更新不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34284962/

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