我想用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)
答案 0 :(得分:3)
我认为你误导了这个例子,它可以像这样简单:
INSERT INTO Car (title, licensePlate, carType)
SELECT 'Ford Transit', 'SV 32 654', '13'
FROM CarType WHERE typeId=13;