尝试使用' insert into select'时,获取​​列不能为空。询问

时间:2017-06-04 06:48:23

标签: mysql sql

插入TABLE1     (ID,table2id)

values
(
    1,
    (select distinct id from TABLE2 s table2 where table2.data='ABC')

);

让我们说TABLE1的table2id列不可为空。但是,(从TABLE2的table2中选择不同的id,其中table2.data =' ABC')查询可能会返回null。如何将上面的查询插入到TABLE1中(从TABLE2的table2中选择不同的id,其中table2.data =' ABC')查询没有返回null而没有获得' table2id不能为null'错误信息。

1 个答案:

答案 0 :(得分:1)

将0替换为您想要的任何值

insert into TABLE1 (id,table2id)
values
(
    1,
    COALESCE((SELECT DISTINCT id FROM TABLE2 as table2 WHERE table2.data = 'ABC'),0))
);