У меня есть таблица базы данных, называемая «заказ», которая ссылается на другую таблицу с именем «доставка» через внешний ключ. Мне нужно удалить доставки, измененные до определенной даты, но я не могу сделать это, пока не удалю заказы, ссылающиеся на них.Удаление из одной таблицы, где поле на внешнем ключе меньше значения в MySQL
Поэтому мне нужно удалить заказы, в которых поставки были изменены до определенной даты. Я написал следующий запрос в MySQL:
DELETE FROM `order`,`delivery` WHERE order.delivery_id = delivery.id AND delivery.modifiedOn < '2016-2-28 23:59:59'
Но я получаю ошибку SQL:
1064 - у Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом: «WHERE order.delivery_id = delivery.id AND delivery.modifiedOn < '2016-'
Я не делал такого рода запрос до , Я подозреваю, что мне нужно использовать JOIN где-нибудь, но не знаю, где - любой совет будет оценен.
Возможные дубликат [Как удалить из нескольких таблиц в MySQL?] (Http://stackoverflow.com/questions/3331992/how-to-delete-from-multiple-tables-in-mysql) – Drew
Так , просто примите двойную выноску в верхней части вашего вопроса, если хотите (для удаления нескольких таблиц, если это ваша ситуация, и я не уверен, что это так) – Drew
Jamie, следующий пример простого каскадного удаления [здесь] (http://stackoverflow.com/a/32298405) ... примерно половина пути ответа - пример – Drew