CREATE TABLE IF NOT EXISTS accounts (
    id INT PRIMARY KEY,
    owner VARCHAR(30),
    balance DECIMAL(10,2),
    CONSTRAINT chk_balance CHECK (balance >= 0)
) ENGINE=InnoDB;

INSERT INTO accounts (id, owner, balance)
VALUES
(1, 'Alice', 1000.00),
(2, 'Bob', 500.00),
(3, 'Charlie', 300.00)
ON DUPLICATE KEY UPDATE
owner = VALUES(owner);

UPDATE accounts SET balance = 1000.00 WHERE id = 1;
UPDATE accounts SET balance = 500.00 WHERE id = 2;
UPDATE accounts SET balance = 300.00 WHERE id = 3;

SELECT * FROM accounts;

START TRANSACTION;

UPDATE accounts
SET balance = balance - 200
WHERE id = 1;

SAVEPOINT sp1;

UPDATE accounts
SET balance = balance + 200
WHERE id = 2;

ROLLBACK TO SAVEPOINT sp1;

COMMIT;

SELECT * FROM accounts;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: