mysql中的这个触发器有什么问题?

mysql中的这个触发器有什么问题?,mysql,sql,triggers,Mysql,Sql,Triggers,下面是我需要创建的触发器,但它没有被创建。请任何朋友都能解释这个触发器有什么问题吗?请帮帮我 DELIMITER $$ CREATE TRIGGER property_history_update AFTER UPDATE ON `properties` FOR EACH ROW BEGIN IF OLD.ListPrice != NEW.ListPrice THEN INSERT INTO `property_history` SET ListingKey

下面是我需要创建的触发器,但它没有被创建。请任何朋友都能解释这个触发器有什么问题吗?请帮帮我

DELIMITER $$
 CREATE TRIGGER property_history_update 
 AFTER UPDATE ON `properties`
 FOR EACH ROW BEGIN

 IF OLD.ListPrice != NEW.ListPrice THEN  
    INSERT INTO `property_history` 
      SET ListingKey = OLD.ListingKey,
           ListPrice = NEW.ListPrice,
       ListingStatus = OLD.ListingStatus,
     LastUpdatedTime = NEW.LocalLastModifiedOn;
 END IF;

END$$
DELIMITER ;
当我执行上述触发器时,我得到如下错误:

致命错误:第99行的/var/www/phpmyadmin/libraries/import/sql.php中超过了300秒的最大执行时间


通过不带WHERE子句的UPDATE传递属性中的所有行将具有线性(O(n)[n是行数的因子])运行时间。如果所有行的ListPrice都发生变化,则该时间将加倍

示例:如果运行“UPDATE properties SET ListPrice=5”;并且表中有10000行,请放心,将有10000次更新,最多10000次插入到property_历史记录表中

请确保您了解三(3)件事:

  • 未对products表运行批量更新
  • 不使用不使用索引的WHERE子句
  • 不使用其索引被MySQL优化器忽略的WHERE子句

  • 密切注意。错误消息不是来自MySQL,而是来自PHP。您的PHP脚本有问题。不要使用PHP,试试你的主机提供的任何DB管理员应用程序(如phpMyAdmin)。现在我已经创建了触发器,当我要更新它时,会给出如下错误#1436-线程堆栈溢出:131072字节堆栈使用5908字节,需要128000字节。使用'mysqld-O thread_stack=#'指定一个更大的堆栈。您想实现什么?感谢您的信任投票!!!