Как удалить из трех или более таблиц mysql по одному id?
Для удаления использую запрос из документации.
DELETE FROM userdata, moneys, user_roles USING userdata INNER JOIN moneys INNER JOIN user_roles WHERE userdata.userid=525300849082105856 AND moneys.userid=525300849082105856 AND user_roles.userid=525300849082105856;
Но возникает трудность когда в одной из таблиц нет записей с этим userid, и запрос не удаляет ни одной записи в других таблицах.
Подскажите как изменить запрос.
DELETE
FROM userdata, moneys, user_roles
USING ( SELECT 525300849082105856 userid ) criteria
LEFT JOIN userdata USING (userid)
LEFT JOIN moneys USING (userid)
LEFT JOIN user_roles USING (userid);
По уму правильный способ, при создании foreign key index нужно указать on delete cascade, и тогда при удалении записи в главной таблице, все связанные записи удалятся автоматически