MySQL:数据截断:对于表INFORMATION_SCHEMA.PROCESSLIST上第1行的列'STATE',数据太长

时间:2018-01-02 06:47:12

标签: mysql

我有这个触发器:

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

基本上它有两个动作:

  1. 将update命令复制到另一个表(update_commands)

  2. 更新另一个表(source2_draft)

  3. 执行触发器时出现此错误:

    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的生产中 - 失败(在生产中也有副本)

0 个答案:

没有答案