Question

I want to perform cascade delete for some tables in my database, but I'm interested in what happens in case there's a failure when deleting something. Will everything rollback?

Was it helpful?

Solution

In general¹, yes, cascade deletes are done in the same transaction (or subtransaction) as your original delete. You should read the documentation of your SQL server, though.

¹ The exception is if you're using a database that doesn't support transactions, like MySQL with MyISAM tables.

OTHER TIPS

Cascade deletes are indeed atomic, they would be of little use without that property. It is in the documentation.

It's worth pointing out that any cascading event should be atomic (i.e. with in a transaction). But, as Joel Coehoorn points out, check the documentation for your database.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top