我正在对表进行非常简单的更新,这也会触发一个非常简单的触发器,它会给我错误
#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