Database Stuff
There is a lot of information that can be put on pages that relate to database programming. I have a history in this field but I am not sure if there is a whole lot more that I can do with this knowledge.
https://www.mysqltutorial.org/mysql-stored-procedure/mysql-transactions/
In the database world, a transaction is a sequence of one or more SQL statements that are executed as a single unit of work.
Transactions allow you to ensure the integrity of data by enabling a set of operations to be either fully completed or fully rolled back in case of an error.
MySQL supports transactions via the START TRANSACTION, COMMIT, and ROLLBACK statements:
START TRANSACTION – Mark the beginning of a transaction. Note that the BEGIN or BEGINWORK are the aliases of the START TRANSACTION.
COMMIT – Apply the changes of a transaction to the database.
ROLLBACK – Undo the changes of a transaction by reverting the database to the state before the transaction starts.
By default, when you execute an SQL statement, MySQL automatically wraps it in a transaction and commits the transaction automatically.
To instruct MySQL to not start a transaction implicitly and commit the changes automatically, you set the value of the autocommit variable to 0 or OFF:
mySQL Transactional Operations
In my experiennces using relational databases the concept of the "transaction" was key. The ability to "Lock" a table
and then "Commit" the changes when the tranaction correctly completed was an important concept. If the proces in the "Update"
failed then the transaction can be "rolled back" to the original state.
Lock
The concept of a "lock" is largely transparent to the user of most systems but it is a key feature to ensure that
data integrity is maintained.
Commit
When all updates have been made to a database, all data is validated, the changes can finally be commited and the locks
on the tables released.