MySQL条件INSERT

时间:2010-12-05 12:18:04

标签: mysql insert-select

我想用MySQL做一个条件插入。我有2张桌子(Car和CarType)。

Car表中有一个名为typeId的coloumn,它指向CarType表中的一个条目。

如果CarType表中存在给定的typeId,我只想在Car表中插入一行。

我尝试了一些谷歌搜索,并尝试了几个解决方案。这是我发现的 (但它不起作用):

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

1 个答案:

答案 0 :(得分:3)

我认为你误导了这个例子,它可以像这样简单:

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