Insert into Select写入数据不一致

Viewed 23

版本:2.1.4
问题描述:
如下SQL使用ifnull()函数来判断进行join后的小表tableB的值是否为空,当为空时则赋值为0,但是插入到表中的数据该字段仍存在空值。

insert into test(field1, field2, field3)
select a.field1,ifnull(b.field2, 0) as field2, b.field3
from tableA as a left join (...) as b on a.field1 = b.field1

通过执行以下SQL,查出来的结果不存在空值,空值都被赋值为0

select a.field1,ifnull(b.field2, 0) as field2, b.field3
from tableA as a left join (...) as b on a.field1 = b.field1
1 Answers
  1. 执行以下命令之后再插入试试
    set global enable_nereids_dml=true
  2. 升级到2.1.10之后重新验证一下