在这里,我有以下触发器:

USE dbsspf;

DELIMITER $$

CREATE
DEFINER = 'root'@'localhost'
TRIGGER TR_ASSIGN_PAGEINDEX
AFTER INSERT
ON LIB_RECORDS
FOR EACH ROW
BEGIN

  UPDATE LIB_RECORDS
  SET
  PAGE_INDEX = 13;


END
$$

DELIMITER ;


如您所见,我只是在触发器中更新表。但是,当我插入新记录时,触发器不会触发。您能告诉我我错过了什么吗?

最佳答案

B.5.9:可以触发访问表吗?
  
  触发器可以访问其自己的表中的旧数据和新数据。扳机
  也会影响其他表,但不允许修改
  该表已经被(读取或写入)使用
  调用该函数或触发器的语句。


http://dev.mysql.com/doc/refman/5.5/en/faqs-triggers.html#qandaitem-B-5-1-9

换句话说,LIB_RECORDS上的触发器无法在LIB_RECORDS上写入其他行。

关于mysql - MYSQL-简单的插入触发器后不会触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12686565/

10-11 03:37
查看更多