首页 文章

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

提问于
浏览
0

插入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不能为空'错误消息 .

1 回答

  • 1

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

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

相关问题