Bug #13195 Unexpected results on multi-table deletes
Submitted: 14 Sep 2005 18:14 Modified: 25 Sep 2005 9:46
Reporter: Hartmut Holzgraefe Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version: OS:
Assigned to: CPU Architecture:Any

[14 Sep 2005 18:14] Hartmut Holzgraefe
Description:
multi-table deletes operate on a row-by-row basis,
this may lead to non-obvious results

How to repeat:
see private comment

Suggested fix:
add a short description on how multi-table deletes work to the DELETE page
[14 Sep 2005 19:24] MySQL Verification Team
Verified with 5.0.13 BK source server.
[25 Sep 2005 9:46] Sergei Golubchik
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Additional info:

The manual says in the DELETE section:

If you use a multiple-table `DELETE' statement involving `InnoDB'
tables for which there are foreign key constraints, the MySQL optimizer
might process tables in an order that differs from that of their
parent/child relationship. In this case, the statement fails and rolls
back.  Instead, delete from a single table and rely on the `ON DELETE'
capabilities that `InnoDB' provides to cause the other tables to be
modified accordingly.