在 Linux Bash 命令中,有;,&&,||三种命令链接方式,本文将介绍他们之间的区别
三种连接方式的区别
;:各个命令之间相互独立,不管前面的语句是否成功执行,所有命令都将被执行&&:命令依次被执行,只有当前面的命令执行成功后,后面的命令才会被执行||:命令依次被执行,只有当前面的命令执行失败后,后面的命令才会被执行
凡事预则立,不预则废
show engines;show variables like '%storage_engine%';show create table tableName;alter table tableName engine = innodb;create table mytable (id int, titlechar(20)) engine = innodb变量 @@autocommit
1 | select @@autocommit; |
@@autocommit 为0时表示不以显示事务开头的语句或者以事务开头(begin; 或者 start transaction;)都会被缓存起来并且在commit;提交前都可以用rollback;回滚
@@autocommit 为1时表示必须以事务开头的语句才会被缓存,否则一个sql语句将会被当做一个事务提交,将不能使用rollback;语句回滚
说明:不是所有引擎都支持事务,常用的支持事务的引擎是InnoDB