Ho la seguente query MySQL:MySQL cancellare con query di selezione annidati
DELETE FROM catalogue
WHERE catalogue_id IN (
SELECT catalogue_id
FROM catalogue
WHERE (
product_id = (SELECT product_id FROM catalogue WHERE catalogue_id = '2290')
AND length_id = (SELECT length_id FROM catalogue WHERE catalogue_id = '2290')
AND gauge_id = (SELECT gauge_id FROM catalogue WHERE catalogue_id = '2290')
)
)
Ma quando tento di eseguire ricevo il seguente messaggio di errore:
Non è possibile specificare tabella di destinazione ' catalogo 'per l'aggiornamento in clausola
Qualcuno potrebbe consigliare dove sto andando male?
Funziona perfettamente con zerkms, ma quale è la ragione per dover "ingannare" MySQL? –
Che dire se hai più di una colonna 'WHERE'? Ad esempio: DELETE FROM catalogo WHERE catalogue_id AND catalogue_name IN ... ' – ThreaT
@ThreaT: Non sono sicuro di cosa stai chiedendo. È possibile aggiungere più predicati con 'ADD', sì. – zerkms