MySQL - SET autocommit 语句
SET autocommit 语句
COMMIT 语句会保存当前所做的所有修改。提交数据库后,它会保存截至该时间点的所有更改。默认情况下,MySQL 数据库会自动提交/保存所做的更改。
您可以使用 SET autocommit 语句关闭/打开自动提交功能。
语法
以下是 SET autocommit 语句的语法 -
SET autocommit=0;
示例
MySQL 会在执行每条语句后保存所做的更改。要自动保存更改,请设置自动提交选项,如下所示 -
SET autocommit=0;
假设我们在 MySQL 中创建了一个名为 EMPLOYEES 的表,如下所示 -
CREATE TABLE EMPLOYEE( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1);
以下查询保存更改 -
COMMIT;
我们使用 INSERT 语句向其中插入 4 条记录,如下所示 -
INSERT INTO EMPLOYEE VALUES ('Krishna', 'Sharma', 19, 'M', 2000), ('Raj', 'Kandukuri', 20, 'M', 7000), ('Ramya', 'Ramapriya', 25, 'F', 5000), ('Mac', 'Mohan', 26, 'M', 2000);
现在,将员工的年龄更新一岁 -
UPDATE EMPLOYEE SET AGE = AGE + 1; 匹配行数:3 更改行数:3 警告数:0
如果您检索表的内容,则可以看到更新后的值如下 -
select * from EMPLOYEE;
输出
以下是上述程序的输出 -
FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
---|---|---|---|---|
Krishna | Sharma | 20 | M | 2000 |
Raj | Kandukuri | 21 | M | 7000 |
Ramya | Ramapriya | 26 | F | 5000 |
Mac | Mohan | 27 | M | 2000 |
以下语句将还原上次提交后的更改。
ROLLBACK;
由于我们在插入记录之前执行了 COMMIT 语句,如果您验证 EMPLOYEE 表的内容,您将得到一个空集,如下所示 -
SELECT * FROM EMPLOYEE; Empty set (0.06 sec)