Domanda

voglio fare un inserto condizionale con MySQL. Ho 2 tavoli (auto e CarType).

La tabella Car ha una colonnina chiamato typeId, che punta a una voce nella tabella di CarType.

Voglio solo inserire una riga nella tabella auto se la data TypeId esiste nella tabella CarType.

Ho provato un po 'di usare Google, e ha cercato un paio di soluzioni. Ecco cosa ho trovato
(Ma non funziona):

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

Soluzione

Credo che tu fuorviante con l'esempio, può essere semplice come questo:

INSERT INTO Car (title, licensePlate, carType) 
  SELECT 'Ford Transit', 'SV 32 654', '13' 
  FROM CarType WHERE typeId=13;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top