首先创建一张表: CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), balance NUMERIC(10.2) );
INSERT INTO account(NAME,balance) VALUES(‘zs‘, 100000); INSERT INTO account(NAME,balance) VALUES(‘ls‘, 100000); INSERT INTO account(NAME,balance) VALUES(‘ww‘, 100000);
SELECT * FROM account;
使用rollback回到事物起点,所以语句无效 START TRANSACTION; UPDATE account SET balance=balance-1000 WHERE id=1; UPDATE account SET balance=balance+1000 WHERE id=2; ROLLBACK;
commit表示提交事物,sql语句执行后保存到数据库中 START TRANSACTION; UPDATE account SET balance=balance-1000 WHERE id=1; UPDATE account SET balance=balance+1000 WHERE id=2; COMMIT;
quit退出之后,mysql会自动回滚事物 START TRANSACTION; UPDATE account SET balance=balance-10000 WHERE id=1; UPDATE account SET balance=balance+10000 WHERE id=2; quit ;