我正在尝试使用回滚返回到我提交的前一个语句。但它不起作用。它始终显示当前语句。这意味着提交不起作用?我该如何解决?
drop table departments_dup;
create table departments_dup
(
dept_no char(4),
dept_name varchar(40)
);
insert into departments_dup
select * from departments;
SELECT
*
FROM
departments_dup
ORDER BY dept_no;
commit;
UPDATE departments_dup
SET
dept_name = 'Quality Control',
dept_no = 'd021';
ROLLBACK;
Mysql默认autocommit为true,可以在语句前开启事务,commit到最后;
START TRANSACTION;
UPDATE departments_dup
SET
dept_name = 'Quality Control',
dept_no = 'd021';
ROLLBACK;
或者您可以将自动提交设置为 false,将以下内容添加到 my.cnf 文件的 [mysqld] 部分。
init_connect='set autocommit=0'
不过,这会将每个客户端的自动提交设置为关闭。
Tôi là một lập trình viên xuất sắc, rất giỏi!