mysql no_engine_substitution_mysql sql_mode 之 NO_ENGINE_SUBSTITUTION

知识储备:

1、mysql 有众多的存储引擎,然而只有一个默认的存储引擎,通常来说它是innodb

2、mysql 可以通过sql_mode 来控制mysql 数据库的行为,今天我们要讲的就是no_engine_substitution

3、no_engine_subtitution的作用:mysql 在create table 时可以指定engine子句;这个engine子句用于指定表的存储引擎,那么问题就来了。

如果我把引擎指定成一个并不存在的引擎!这个时候mysql可以有两种行为供选择 1、直接报错;2、把表的存储引擎替换成innodb

例子:

1、环境检查(查看mysql所支持的存储引擎,sql_mode模式)

001:存储引擎,由下图可以看出在这个mysql上不支持federated 引擎

mysql>show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| Engine | Support | Comment | Transactions | XA | Savepoints |

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| MyISAM | Y

你可能感兴趣的:(mysql)