Mysql:创建触发器添加两列值

Posted

技术标签:

【中文标题】Mysql:创建触发器添加两列值【英文标题】:Mysql : Create trigger add two column value 【发布时间】:2015-04-23 21:02:37 【问题描述】:

大家好,我想创建一个触发器以在添加后插入第三列 两列。这是mysql

CREATE
    TRIGGER calcul_posts AFTER UPDATE
    ON table.test
    FOR EACH ROW BEGIN
        INSERT INTO test 
('FinalPost') 
SELECT 
('New posts'-'excluded_posts') 
FROM  test
END;

我想在总和“新帖子”之后添加 Finalpost 的值 - exclude_post

【问题讨论】:

【参考方案1】:

首先,如果您想更改同一张表中的数据,您需要一个“更新前”触发器。然后你只需设置值:

DELIMITER $$
CREATE TRIGGER calcul_posts BEFORE UPDATE ON table.test
FOR EACH ROW
BEGIN
    SET FinalPost = `New Posts` - excluded_posts;
END;$$
DELIMITER ;

我认为在列名中使用单引号是一个错字。

【讨论】:

再次出错:#1193 - 未知系统变量 'FinalPost'

以上是关于Mysql:创建触发器添加两列值的主要内容,如果未能解决你的问题,请参考以下文章

MySQL - 根据更新其他表列值触发更新列值

mySQL在触发器中比较两个不同的列值

oracle 表列值唯一 怎么实现

mysql:向 php 发送 sqlstate 信号

Mysql触发器没有更新记录

更新之前的Oracle SQL触发器,用于设置来自其他实体的列值