MySQL INSERT在null时查找

时间:2011-08-04 16:47:42

标签: mysql insert

我有以下查询,当查找表中包含某些内容时,该查询有效。但是,如果“z.a”不等于INSERT失败的任何内容。为什么会这样?

 INSERT INTO dataTable(
    a,
    b,
    c,
    d,
    e,
    f,
    g,
    h,
    i,
    j,
    k,
    l,
    m,
    n,
    o,
    p
)SELECT
    '000003',
    COALESCE(z.Registration, 'REG6'),
    'PFTEST',
    '1',
    '1',
    '37000.0',
    '148.0',
    '439.8',
    '1312475688',
    '0',
    '54',
    COALESCE(z.TypeCode, 'A555'),
    '',
    '1173',
    '0',
    'nJ'
FROM
    LookupTable z
WHERE
    z.a = '000003' 

2 个答案:

答案 0 :(得分:1)

外部插入查询将插入select返回的任何内容 - 如果它什么都不返回,那么要插入什么?这是预期的行为。其他任何东西都会疯狂 - 如果没有什么可以插入的话应该插入什么?插入查询是否应该组成数据?

答案 1 :(得分:1)

最后,我完全删除了WHERE并在VALUES中直接执行了选择。效果很好