相关疑难解决方法(0)

MySQL错误1436:线程堆栈溢出,简单查询

我正在对表进行非常简单的更新,这也会触发一个非常简单的触发器,它会给我错误

#1436 - Thread stack overrun:  6136 bytes used of a 131072 byte stack, and 128000 bytes needed.
Run Code Online (Sandbox Code Playgroud)

我执行的查询:

UPDATE field_values SET value = 'asaf' WHERE field_values.id =1
Run Code Online (Sandbox Code Playgroud)

值字段是一个text字段.所以在理论上它可能会变得安静.在这种情况下情况并非如此.

正在执行的触发器是:

DELIMITER $$
    CREATE TRIGGER field_value_update_trigger BEFORE UPDATE ON community_fields_values
    FOR EACH ROW BEGIN
      INSERT INTO user_field_log (user_id, field_id, value) VALUES (NEW.user_id, NEW.field_id, NEW.value);
    END;
$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

为什么会出现此错误?这不像是涉及任何繁重的查询.还要注意,数据库几乎是空的,只有2行,community_fields_values而且没有行user_field_log

MySQL版本:5.1.44

mysql triggers

30
推荐指数
2
解决办法
4万
查看次数

标签 统计

mysql ×1

triggers ×1