MySQL 查询时如何查看严格模式(mysql 严格模式查看)

MySQL 查询时如何查看严格模式?

MySQL是一种在开源社区中得到广泛应用的关系型数据库管理系统。MySQL的严格模式可以提高数据库的数据质量和安全性,使数据库更加稳定。在MySQL中,如何查询严格模式呢?本文将为大家详细介绍。

MySQL的严格模式是一个选项,它可以控制MySQL是否执行一些严格的SQL语句检查。这些检查可以在一定程度上保证数据库中数据的完整和正确性。在MySQL中,我们可以通过查询系统参数来查看是否启用了严格模式。

在MySQL中,我们使用以下命令可以查询系统参数:

SHOW VARIABLES [LIKE ‘variable_name%’];

其中,‘variable_name’表示待查询的系统参数名称,%表示通配符,表示查询名称以variable_name开头的所有系统参数。

在查询是否开启严格模式时,我们需要查看以下两个系统参数:

sql_mode:它是一个字符串,列出了MySQL当前会话中的所有SQL模式。如果没有设置任何值,则sql_mode默认为“空字符串”。开启严格模式将sql_mode设置为“STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER”。

sql_safe_updates:它是一个布尔类型,如果设置为1,则禁止执行有安全隐患的更新和删除操作。这个参数默认为0。

因此,我们可以通过以下SQL语句查询是否启用了严格模式:

SHOW VARIABLES LIKE ‘sql_mode%’;

结果如下所示:

+————————+——————————————-+

| Variable_name | Value |

+————————+——————————————-+

| sql_mode | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,…… |

+————————+——————————————-+

从上表可以看出,sql_mode中包含了‘STRICT_TRANS_TABLES’,这表示启用了严格模式。

如果未启用严格模式,则sql_mode将不会包含‘STRICT_TRANS_TABLES’,如下所示:

+————————+——————————————-+

| Variable_name | Value |

+————————+——————————————-+

| sql_mode | NO_ENGINE_SUBSTITUTION |

+————————+——————————————-+

在MySQL中,通过查询系统参数‘sql_mode’可以知道是否开启了严格模式。开启严格模式能够提高MySQL数据库的数据质量和安全性,避免在编写SQL语句时出现不规范的情况,从而保证了数据的稳定性和可靠性。


数据运维技术 » MySQL 查询时如何查看严格模式(mysql 严格模式查看)