Mysql SQL提交不工作

Mysql SQL提交不工作,mysql,commit,rollback,Mysql,Commit,Rollback,我试图使用rollback返回到我提交的上一条语句。但它不起作用。它总是显示当前语句。这意味着提交不起作用?我怎样才能解决它 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 dep

我试图使用rollback返回到我提交的上一条语句。但它不起作用。它总是显示当前语句。这意味着提交不起作用?我怎样才能解决它

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,因此您可以在语句之前打开事务并提交到最后

START TRANSACTION;
UPDATE departments_dup 
  SET 
  dept_name = 'Quality Control',
  dept_no = 'd021';

ROLLBACK;
或者您可以将autocommit设置为false,将以下内容添加到my.cnf文件的[mysqld]部分

init_connect='set autocommit=0'
不过,这会将每个客户端的自动提交设置为关闭