Условная вставка MySQL

Я хочу сделать условную вставку с MySQL. У меня есть 2 таблицы (Car и CarType).

В таблице Car появился столбец с именем typeId, который указывает на запись в таблице CarType.

Я хочу вставить строку в таблицу Car только в том случае, если данный typeId существует в таблице CarType.

Я попробовал немного поискать в Google и попробовал пару решений. Вот что я нашел
(но это не работает):

INSERT INTO Car (title, licensePlate, carType 
SELECT 'Ford Transit', 'SV 32 654', '13' 
FROM DUAL 
    WHERE EXISTS (SELECT typeId FROM CarType WHERE typeId = 13)

person Nilks    schedule 05.12.2010    source источник
comment
dup: stackoverflow.com/questions/913841/mysql-conditional-insert   -  person Haim Evgi    schedule 05.12.2010
comment
Я это видел и пробовал (как вы бы знали, если бы действительно видели мой код). Это не работает. По крайней мере, не для меня.   -  person Nilks    schedule 05.12.2010


Ответы (1)


Я думаю, что вы вводите в заблуждение примером, это может быть так просто:

INSERT INTO Car (title, licensePlate, carType) 
  SELECT 'Ford Transit', 'SV 32 654', '13' 
  FROM CarType WHERE typeId=13;
person ajreal    schedule 05.12.2010