Question

Je veux faire un insert conditionnel avec MySQL. J'ai 2 tables (voitures et CarType).

La table de voiture a un coloumn appelé typeId, qui pointe vers une entrée dans la table de CarType.

Je veux seulement insérer une ligne dans la table de voiture si la typeId donnée existe dans la table de CarType.

J'ai essayé quelques recherches sur Google, et a essayé quelques solutions. Voici ce que j'ai trouvé
(Mais il ne fonctionne pas):

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

La solution

Je pense que vous induire en erreur par l'exemple, il peut être aussi simple que cela:

INSERT INTO Car (title, licensePlate, carType) 
  SELECT 'Ford Transit', 'SV 32 654', '13' 
  FROM CarType WHERE typeId=13;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top