在MySQL中的insert语句中使用子查询

时间:2014-12-12 14:41:25

标签: mysql if-statement

我有以下查询

INSERT INTO someTable (xID, yID, zID) 
VALUES ('1', (
              SELECT aID 
              FROM someTable 
              WHERE something),
        '1')

但是,对于子查询,如果找不到结果,则返回0,这是我不想要的。有没有办法检查如果子查询返回0,我退出查询?

1 个答案:

答案 0 :(得分:2)

您可以在没有values声明的情况下执行此操作:

INSERT INTO someTable (xID, yID, zID)
    SELECT '1', aID, '1'
    FROM someTable
    WHERE something;

我认为这可以解决您的问题。如果查询中没有匹配项,则不会插入任何内容。