When should I use transactions in my queries?

data-transfer, mysql, pdo, transactions

Solution

Basically any time you have a unit of work that is either sensitive to outside changes or needs the ability to rollback every change, if an error occurs or some other reason.

Look here for some excellent answers and their reasons for using them.

Problem

I'm reading very detailed tutorials on how to use transactions with database types and database engines, but I haven't found a guide that teaches me when and why I should use them. I know transactions are usually used for banking, so when we work with money data, but I can imagine they are used in many other ways. Today I'm working on a page with various `INSERT` statements for a relational database, and I wanted to know if this is one of the cases when I should use them. I get an impression that I don't know the cases when the data can be partially lost (apart from coder errors) so I'm always worried about when I should use them. Can someone explain or give some link with these fundamental rules? I'm using `MySQL 5.0.8`. Should I use `InnoDB` for all tables that need transactions? If yes, is `InnoDB` slower than the common `MyISAM` but I shouldn't worry about that? thanks

Original source

Related problems