Mysql 触发器 - 如何仅在特定行上触发

标签 mysql linux triggers

我有一个假设的 table ,水果。它看起来像这样:

Product | Value

Apple     1
Orange    2

我正在尝试创建一个触发器,该触发器将在更新之前执行,仅当新值适用于苹果时才会为该值添加 2。这个触发器会是什么样子?某人被处决的例子

UPDATE fruit SET value=2 WHERE product='apple';

apple 的新值为 4。

我尝试了下面的触发器,但当然会用 2 更新任何值

BEGIN 
  SET value = new.value+2
END

最佳答案

在触发器中使用类似这样的代码:

if new.product = 'Apple' then
    set new.value = new.value + 2;
end if;

关于Mysql 触发器 - 如何仅在特定行上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23260165/

相关文章:

linux - Hello World C++ 内核模块中的 undefined symbol

linux - Shell 脚本未按预期工作

oracle - 如何在 oracle 11g 的 sqlplus 中更改分隔符

sql-server - 触发器是否在 SQL SERVER 中的事务中运行

select - 选择后触发

linux - 如何防止在 Linux 中重复更改文本文件?

php - 从mySQL数据库填充的网站表单,如何返回数据

php - 如何在php中爆破mysql表数据

Java JDBC 在写入数据库的方法中避免冗余代码?

mysql - 通过 shell 脚本使用 echo 命令自动化 mysql_secure_installation