我有这个触发器:
BEGIN
DECLARE original_query TEXT;
SET original_query = (SELECT info FROM INFORMATION_SCHEMA.PROCESSLIST WHERE id = CONNECTION_ID());
INSERT INTO `update_commands`(`origin_id`, `origin_table_name`, `edited_by`, `command`) VALUES (NEW.id, 'source_draft' , NEW.last_edited_by, replace(original_query, '_draft' , ''));
update source2_draft set `name` = NEW.name where `name` = OLD.name;
END
基本上它有两个动作:
将update命令复制到另一个表(update_commands)
更新另一个表(source2_draft)
执行触发器时出现此错误:
Data truncation: Data too long for column 'STATE' at row 1
'STATE'列位于information_schema.processlist
中我该如何解决?
编辑:更多数据: 在我的localhost上工作正常。 (5.7.17版)
在版本为5.6.36的临时环境中工作正常。
在版本为5.6.25-log的生产中 - 失败(在生产中也有副本)