mysql - 触发错误以使用其他 2 列的总和更新列

标签 mysql sql triggers eventtrigger

我有一个名为“followers”的简单表:

id fb tw sum 
1   2  4  
2   6  5
3   4  8

我想创建一个触发器,以便在将数据插入“fb”和“tw”列后,第四列“sum”将是 fb+tw 的总和。

这是我的触发器代码:

USE `my_database`;
DELIMITER $$
CREATE TRIGGER `followers_AINS` AFTER INSERT ON `followers` FOR EACH ROW 
BEGIN
UPDATE sum SET sum=fb+tw
END
DELIMITER;

我不断收到 DDL 错误。

最佳答案

使用 before 触发器。并用NEW关键字设置值来表示当前插入的记录

DELIMITER $$
CREATE TRIGGER `followers_AINS` BEFORE INSERT ON `followers` 
FOR EACH ROW 
BEGIN
  SET NEW.sum = NEW.fb + NEW.tw;
END
$$
DELIMITER ;

还可以在 delimiter 和实际分隔符之间使用一个空格来更改定义。

关于mysql - 触发错误以使用其他 2 列的总和更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25126748/

相关文章:

MySQL INSERT INTO 单列从 SELECT 查询中从另外两个表中提取数据 - 抛出 #1062 - 键 2 的重复条目 '' 错误

mysql - 谷歌应用引擎NoClassDefFoundError : Could not initialize class com. mysql.jdbc.Driver

mysql - 查询花费大量时间如何解决性能问题

Python 和 sql 服务器

c# - 无法让我的更新工作

php 5.4 mysql 扩展不工作

CSV 导入问题期间的 MySQL 更新

javascript - 如何为我的 php Web 应用程序提供桌面通知?

c# - 一旦触发器被触发,如何改变整个对象的颜色?

mysql - 创建mysql触发器读取超时没有错误