即使传递了错误的值,MYSQL TRIGGER If 语句也会执行

标签 mysql database-trigger

除了 if 语句之外,这里的所有代码都是正确的。由于某些原因,这个 if 语句没有读取我的 var @qty_col_ctr 的值。即使我传递0,它仍然执行里面的更新。我的语法错误吗?

顺便说一句,这是 mysql 触发器内的 if 语句

if(@qty_col_ctr = 1)
then
        update sample_db_name.product_inventory_tb set qty = new.sku_stock 
        where product_id=@product_id and department_id=@department_id;

end if;

最佳答案

您不应在触发器内为变量名称添加前缀“@”。试试这个。

if(qty_col_ctr = 1)

关于即使传递了错误的值,MYSQL TRIGGER If 语句也会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51380362/

相关文章:

mysql - 在 SQL 中查找文本中的字符串

php - 无法更新用户名值。 PHP/MySQL

postgresql - postgresQL 如何仅在更新行上应用触发器?

entity-framework-4.1 - 无法将 StoreGeneratePattern.Identity 与数据库触发器生成的主键值一起使用?

mysql - Rails MySQL 主/从将读取和写入发送到主服务器

php - 极其基础的 PHP 和 Mysql

java - 交易后刷新实体

sql - 在 postgres 中创建触发器

MySQL 触发器插入/更新

mysql - datagrip 和 phpmyadmin 上不显示数据库关系线