错误 1442:MySQL phpMyAdmin 中与触发器相关的错误

Error 1442: MySQL Error In phpMyAdmin related to triggers

我在一本书上创建了这个触发器table

CREATE TRIGGER tBookCopies AFTER INSERT ON books 
FOR EACH ROW 
BEGIN 
UPDATE books 
SET availableCopies=books.totalCopies 
WHERE books.book_ID = NEW.book_ID;
END

触发器的目的是在插入完成后自动将可用副本的值设置为与总副本数相同。 当我在 table

上尝试插入查询时

MySQL 说:

  #1442 - Can't update table 'books' in stored function/trigger because it is already used by statement which invoked this stored function/trigger

请问如何解决这个问题?

您无法更新 sama table 但将其更改为插入之前的触发器也有同样的效果

CREATE TRIGGER tBookCopies BEFORE INSERT ON books 
FOR EACH ROW 
BEGIN 

   SET NEw.availableCopies=NEW.totalCopies; 

END