|
Home >> FAQs/Tutorials >> MySQL Tutorials >> Index
MySQL FAQs - Transaction Management: Commit or Rollback
By: FYIcenter.com
Part:
1
2
3
4
5
6
7
8
9
10
(Continued from previous part...)
How To Start a New Transaction Explicitly?
If you are confused on the implicit new transaction rules, you can always
start a new transaction with the "START TRANSACTION" command to start a new transaction explicitly.
"START TRANSACTION" command works in both "Autocommit On" and "Autocommit Off" modes.
The following tutorial exercise shows you how to start a transaction explicitly:
>\mysql\bin\mysql -u dev -piyf fyi
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO fyi_links (url, id)
VALUES ('fyicenter.com', 101);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO fyi_links (url, id)
VALUES ('centerfyi.com', 110);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM fyi_links;
+-----+---------------+-------+--------+--------------------
| id | url | notes | counts | created
+-----+---------------+-------+--------+--------------------
| 101 | fyicenter.com | NULL | NULL | 2006-07-01 20:27:49
| 110 | centerfyi.com | NULL | NULL | 2006-07-01 20:28:10
+-----+---------------+-------+--------+--------------------
2 rows in set (0.07 sec)
mysql> ROLLBACK;
Query OK, 0 rows affected (0.07 sec)
How To Commit the Current Transaction?
If you have used some DML statements updated some data objects, and
you want to have the updates to be permanently recorded in the database,
you can use the COMMIT command. It will make all the database changes made in the current
transaction become permanent and end the current transaction. The following tutorial
exercise shows you how to use COMMIT commands:
>\mysql\bin\mysql -u dev -piyf fyi
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO fyi_links (url, id)
VALUES ('fyicenter.com', 101);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO fyi_links (url, id)
VALUES ('centerfyi.com', 110);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM fyi_links;
+-----+---------------+-------+--------+--------------------
| id | url | notes | counts | created
+-----+---------------+-------+--------+--------------------
| 101 | fyicenter.com | NULL | NULL | 2006-07-01 20:27:49
| 110 | centerfyi.com | NULL | NULL | 2006-07-01 20:28:10
+-----+---------------+-------+--------+--------------------
2 rows in set (0.07 sec)
mysql> COMMIT;
Query OK, 0 rows affected (0.04 sec)
(Continued on next part...)
Part:
1
2
3
4
5
6
7
8
9
10
|