I have this tables:
- Orders: OrderId, UserId
- OrderItems: OrderId, Price
There is foreign key on OrderItems.OrderId and it's possible to have order without order items. I want to delete all orders and order ietms for some user. This sql with inner join works fine:
DELETE o, oi
FROM Orders o
JOIN OrderItems oi ON o.OrderId = oi.OrderId
WHERE o.UserId = 11
but it doesn't delete orders without order items (inner join). But sql query with left join
DELETE o, oi
FROM Orders o
LEFT JOIN OrderItems oi ON o.OrderId = oi.OrderId
WHERE o.UserId = 11
throws error
cannot update or delete parent row.
What's wrong? is it possible to delete all orders (with items and without) for user in one query?