如何使用INSERT触发器调用INSERT来避免重复触发器调用?

时间:2016-11-16 21:02:39

标签: mysql database-trigger

我是触发器和所有这些程序的新手。我正在尝试创建一个简单的AFTER INSERT触发器,它将复制friendship但是交换user_id,因此两个用户都有一个。这是结构:

enter image description here

这是我的触发器:

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    TRIGGER `combat`.`friendship_insert_trigger` AFTER INSERT
    ON `combat`.`friendships`
    FOR EACH ROW BEGIN
       DECLARE userID INT;
       DECLARE friendID INT;

       SET userID = NEW.friend_id;
       SET friendID = NEW.user_id;

       INSERT INTO friendships VALUES(userID, friendID, NEW.status);

    END$$

DELIMITER ;

如您所见,它使用交换值调用INSERT。

有没有办法'告诉'新的插入语句不再调用触发器? 我正在使用SQLyoggUbuntu 16 Mysql

一个例子: 我插入了与user_id = 1,friend_id = 2和status = 0的友谊。 它还应该与user_id = 2,friend_id = 1和status = 0;

插入友谊

0 个答案:

没有答案