Mysql触发器中的SELECT对于整数和日期字段返回NULL

时间:2019-04-26 19:37:11

标签: mysql select triggers

我在TABLE1的INSERT触发器之前或之后在TABLE2上使用SELECT。 选择获取varchar,日期和整数值。 仅返回varchar。其他所有值均设置为NULL。

DECLARE d_enl date;
    DECLARE d_liv date;
    DECLARE d_trace_enl date;
    DECLARE d_trace_liv date;
    DECLARE ecart_enl int;
    DECLARE ecart_liv int(8);   
    DECLARE h_min varchar(8);
    DECLARE h_max varchar(8);

SELECT D_ENL, D_LIV INTO d_enl, d_liv FROM refer WHERE K_REFER = NEW.K_REFER;       

SELECT H_LIV_MIN, H_LIV_MAX INTO h_min, h_max FROM refer WHERE K_REFER = NEW.K_REFER;

SELECT ECART_ENL INTO ecart_enl FROM refer WHERE K_REFER = NEW.K_REFER;

K_REFER是PRIMARY UNIQUE KEY,因此仅返回一行。 我尝试了对所有字段进行选择,对每种类型进行选择,甚至使用SET var1 =(SELECT Field1 FROM ... WHERE)按变量进行选择。

相同的结果:设置了h_min和h_max(varchar)。其他变量为空。当然,所选记录中的任何字段都不为空。

1 个答案:

答案 0 :(得分:0)

我认为问题出在变量名上。看来它们不区分大小写?因此查询对与字段名称相同的变量感到困惑。