Transactions are the first important feature of a DBMS, and they allow you to group together changes to your database. For example, imagine a system that paid employees overnight - first employee #1 is paid, then employee #2, then employee #3, and then while employee #4 is being paid there is a power cut. Without transactions the database would now be in an inconsistent state - which employees have been paid and which have not? Will employee #4 end up getting paid twice or not at all?
With transactions, all changes are kept separate from the live system, and only made permanent when they are told to commit changes. If anything goes wrong while changes are being made, the transaction can be rolled back - all changes are undone, with the system being restored to the same state as it was before the transaction began.
Naturally transactions are a highly sought-after feature for users of databases, particularly when business interests are at stake. However, they usually have a negative impact on speed - for example, MySQL running without transactions runs very quickly indeed, but will slow down massively if asked to do transactions.
Want to learn PHP 7?
Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!
If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!