В MySQL / MariaDB у вас есть выбор:
- Вы можете использовать
ORDER BY
и LIMIT
, а FROM
может относиться только к одной таблице. - Выможет иметь
FROM
, который ссылается на несколько таблиц.
Решение?Перефразируйте запрос:
DELETE FROM facture f
WHERE EXISTS (SELECT 1
FROM client c
WHERE f.idClient = c.id AND c.nom = ?
)
ORDER BY f.idFact DESC
LIMIT 1;
Или вы можете использовать подзапрос, чтобы получить строку для удаления:
DELETE f
FROM facture f JOIN
(SELECT f.idFact
FROM facture f JOIN
client c
ON f.idClient = c.id AND c.nom = ?
ORDER BY f.idFact DESC
LIMIT 1
) ff
ON ff.idFact = f.idFact