MySQL-如何输入自定义值并覆盖触发器?
我有一个MySQL触发器,其结尾是一个关于另一列条目的case语句MySQL-如何输入自定义值并覆盖触发器?,mysql,sql,triggers,overriding,Mysql,Sql,Triggers,Overriding,我有一个MySQL触发器,其结尾是一个关于另一列条目的case语句 NEW.reference_column = CASE NEW.entry_column WHEN "Test Value 1" THEN 1 WHEN "Test Value 2 " THEN 2 WHEN "Test Value 3" THEN 3 ELSE 4 END; 但是,有时reference_列中存在无法预测的值,我不希望插入else值,而是希望插入自定义值。如何在entry_列中输入自定义值并重写触发器,使其不
NEW.reference_column = CASE NEW.entry_column
WHEN "Test Value 1" THEN 1
WHEN "Test Value 2 " THEN 2
WHEN "Test Value 3" THEN 3
ELSE 4 END;
但是,有时reference_列中存在无法预测的值,我不希望插入else值,而是希望插入自定义值。如何在entry_列中输入自定义值并重写触发器,使其不插入else值
编辑:我试图跳过ELSE值,但在尝试覆盖时,它只会给我一个空白更正。Hmmmm。你想这样做吗
NEW.reference_column = (CASE WHEN NEW.entry_column = 'Test Value 1' THEN 1
WHEN NEW.entry_column = 'Test Value 2' THEN 2
WHEN NEW.entry_column = 'Test Value 3' THEN 3
WHEN NEW.entry_column LIKE 'Custom %'
THEN substring_index(NEW.entry_column, ' ', -1) + 0
ELSE 4
END);
新值将作为“自定义5”插入谢谢!你的回答使我想到了如何设计解决方案。