mysql unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'怎么解决
时间: 2023-07-05 08:24:13 浏览: 217
这个错误通常意味着 MySQL 配置文件中没有定义 `sql_mode` 参数或者您的 MySQL 版本不支持它。`sql_mode` 参数用于控制 MySQL 在执行查询时的行为。具体来说,`NO_ENGINE_SUBSTITUTION` 参数会禁止 MySQL 在找不到指定的存储引擎时使用默认存储引擎进行替换,而 `STRICT_TRANS_TABLES` 参数会启用严格的事务模式,不允许插入无效的数据。
要解决这个问题,您可以尝试在 MySQL 配置文件中添加以下行:
```
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
```
如果您已经在配置文件中添加了这些行,但仍然出现这个错误,请检查您的 MySQL 版本是否支持这些参数。如果您的 MySQL 版本较旧,您可以尝试升级到最新版本以支持这些参数。
另外,您也可以在 MySQL 连接之前设置 `sql_mode` 参数。例如,您可以在连接 MySQL 时执行以下语句来设置 `sql_mode` 参数:
```
SET sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';
```
如果您需要更具体的帮助,请提供更多上下文信息。
相关问题
unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
这看起来像是一个 MySQL 的错误信息,通常是由于 MySQL 配置或版本问题引起的。它可能表示您的 MySQL 配置文件中没有定义 `sql_mode` 这个参数,或者您的 MySQL 版本不支持它。您可以尝试在 MySQL 连接之前设置 `sql_mode` 参数,或者尝试升级 MySQL 版本。如果您需要更具体的帮助,请提供更多上下文信息。
sql_mode=no_engine_substitution,strict_trans_tables
sql_mode=no_engine_substitution,strict_trans_tables是MySQL中的一个参数,用于控制数据库的行为。其中,no_engine_substitution表示禁止MySQL自动替换存储引擎,strict_trans_tables表示启用严格的事务表模式。这两个参数的作用是保证数据库的数据完整性和一致性。如果不启用这些参数,可能会导致数据损坏或不一致的情况发生。
阅读全文