gpt4 book ai didi

mysql - 使用多个 if 语句更新 MYSQL 表

转载 作者:行者123 更新时间:2023-11-30 00:05:26 25 4
gpt4 key购买 nike

让此 MYSQL 代码运行时遇到一些问题。我试图通过 PHPMYAdmin 添加 onUpdate 触发器,该触发器获取该行,然后获取修改后的条目并检查它是否大于下面的某些值。我想做的是让代码检查一个 if 语句,执行 if 内的代码,然后转到下一个 if 语句。我环顾四周,但不知道哪里出了问题。感谢帮助!

代码:

IF NEW.someVal> 10 THEN
UPDATE someTable
SET someTable.colA = someTable.colA +1;
END IF;

IF NEW.someVal > 50 THEN
UPDATE someTable
SET someTable.colB = someTable.colB +1;
END IF;

IF NEW.someVal > 100 THEN
UPDATE someTable
SET someTable.colC = someTable.colC +1;
END IF;

错误:您的 SQL 语法有错误;检查与您的 MYSQL 服务器版本相对应的手册,了解在 'IF NEW.someVal > 10 THEN 附近使用的正确语法更新 someTable.co'... 第 6 行

如果我采用这些 if 语句中的任何一个,并且仅在我尝试创建的触发器中使用其中一个,则触发器工作正常。

最佳答案

您可以在不使用 IF 条件的情况下实现相同的功能,如下所示:

UPDATE someTable 
SET someTable.colA = someTable.colA +1
WHERE someTable.colA +1 > 10;

UPDATE someTable
SET someTable.colB = someTable.colB +1
WHERE someTable.colB +1 > 50;

UPDATE someTable
SET someTable.colC = someTable.colC +1
WHERE someTable.colC +1 > 100;

关于mysql - 使用多个 if 语句更新 MYSQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600833/

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