search

Home  >  Q&A  >  body text

mysql source 文件,里面的transaction不起作用的原因?

在mysql命令行source执行一个外部文件:

source file.sql;

或者这种方式:

mysql -uuser -ppassword -P 3306 database_name < file.sql

file.sql 里面的schema是:

begin;
delete from table1;
insert into table1 values(1,'name');
-- commit;

如果在命令行单独执行这些schema,再运行rollback就会正常回滚,而source这种方式却不能回滚,这是为什么呢?

PHP中文网PHP中文网2786 days ago573

reply all(1)I'll reply

  • 黄舟

    黄舟2017-04-17 11:36:08

    I tried it, rollback in source is completely fine. mysql 5.5.24

    reply
    0
  • Cancelreply