2014-12-12 4 views
0

У меня есть следующий запросИспользование подзапросов в вставки даного в MySQL

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

Однако для вспомогательного запроса, если он не может найти результат она возвращает 0, что я не хочу. Есть ли способ проверить, что, если sub-запрос возвращает 0, я выхожу из запроса?

+0

Кстати, подзапрос будет возвращать 'NULL', если нет совпадения, а не' 0'. –

ответ

2

Вы можете сделать это без values заявления:

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

Я думаю, что устраняет проблему. Если в запросе нет совпадения, то ничего не вставлено.

Смежные вопросы