Understanding transactions

A transaction is a sequence of SQL statements that are grouped into a single logical operation. Its purpose is to guarantee the integrity of data. If a transaction fails, no change will be applied to the databases. If a transaction succeeds, all statements will succeed.

Why is this so important? Consider the following example:

START TRANSACTION;
SELECT quantity FROM product WHERE id = 42;
UPDATE product
  SET quantity = quantity - 10
  WHERE id = 42;
UPDATE customer
  SET money = money -
  (SELECT price FROM product WHERE id = 42)
  WHERE id = 512;
INSERT INTO product_order
  (product_id, quantity, customer_id)
  VALUES (42, 10, 512);
COMMIT;

We haven't yet discussed some of the statements used in the preceding example. However, ...

Get MariaDB Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.