MySQL 如何将当前事务中所做的更改永久记录在MySQL数据库中?
在开发MySQL应用程序时,一般是在事务中对数据进行操作。但是,仅仅将更改写入mysql会话中是不够的,因为当会话结束时,所有更改都会被撤消,除非您将更改永久记录在MySQL数据库中。本文将向您介绍如何将当前事务中所做的更改永久记录在MySQL数据库中。
阅读更多:MySQL 教程
开启事务
在MySQL中,事务是一组有关联的SQL语句,这些语句被视为一个单独的操作单元,要么全部执行,要么全部撤消。在开始执行任何更改操作之前,必须要开启事务。
只需使用以下MySQL查询即可开启事务:
START TRANSACTION;
就像这样,现在你可以执行需要执行的任何操作。
执行更改操作
在事务中执行更改操作时,请确保使用MySQL的相应命令并提交此类操作,例如:INSERT、UPDATE或DELETE等命令。
例如,在一个简单的表中插入几个值:
USE test_database;
START TRANSACTION;
INSERT INTO table_name (column1, column2, column3)
VALUES (1, 'Test Value 1', 10),
(2, 'Test Value 2', 20),
(3, 'Test Value 3', 30);
COMMIT;
在这里,我使用了一个名为”test_database”的数据库,并在其中打开了一个事务。(如果您想将更改应用到不同的数据库,请用USE语句在上下文中更改当前数据库。)
如果想在测试阶段撤消所有更改,可以使用ROLLBACK命令或让事务自动回滚。
提交或回滚事务
当您完成了在事务中添加,修改或删除数据的所有操作时,您可以提交这些更改,以永久将所做的更改记录在MySQL数据库中。请使用以下查询提交事务:
COMMIT;
另一方面,如果您不想触发永久保存在数据库中的更改,可以使用ROLLBACK查询回滚事务并撤消所有更改。例如:
ROLLBACK;
此外,如果出现错误或异常情况,MySQL会自动回滚事务,以确保您的应用程序的数据总是保持一致。
请注意,提交或回滚事务之后都会将事务结束。
结论
在此处,您学会了如何将当前事务中所做的更改永久记录在MySQL数据库中。您可以使用START TRANSACTION、COMMIT或ROLLBACK等命令来控制事务和更改永久保存的条件,以便实现更好的MySQL开发和维护。