我想知道如何在localhost(xampp)中判断MySQL严格模式是打开还是关闭.

如果打开,则说明哪些模式以及如何关闭.

如果关闭,则如何打开.

我已经关注了http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-fullhttps://mariadb.com/kb/en/mariadb/sql_mode/以及其他相关网站.但我的问题没有得到确切的答案.

推荐答案

->STRICT_TRANS_TABLES is responsible for setting MySQL strict mode.

->To check whether strict mode is enabled or not run the below sql:

SHOW VARIABLES LIKE 'sql_mode';

如果其中一个值为STRICT_TRANS_TABLES,则启用严格模式,否则不启用.

+--------------+------------------------------------------+ 
|Variable_name |Value                                     |
+--------------+------------------------------------------+
|sql_mode      |STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION|
+--------------+------------------------------------------+

因此,在我的例子中,严格模式是enabled,因为其中一个值是STRICT_TRANS_TABLES.

->To disable strict mode run the below sql:

set global sql_mode='';

[或除STRICT_TRANS_TABLES之外的任何模式.例如:设置全局sql_mode='NO_ENGINE_SUBSTITUTION';]

->To again enable strict mode run the below sql:

set global sql_mode='STRICT_TRANS_TABLES';

Mysql相关问答推荐

如何让Docker MySQL使用Unicode(utf-8)和初始化脚本?

在MySQL中使用FIRST_VALUE()

使用字符串文字与使用日期文字时的SQL行为

MySQL中如何对字符串进行算术运算?

使用不同的 where 列进行子 Select

MySQL 在第一个匹配行后停止搜索 N 行(不是 LIMIT)

如何使用sql查询在日期列中按值和最大值分组的表中添加列?

基于关系的每个实体有一个真值和多个假值

检索按键列值分组的最新日期 (MySql)

为什么order by子句可以利用索引?

一次更新mysql中的多个列

SQL 查找边界之间的值

如何根据特定条件从mysql数据库中 Select 查询

MariaDB 下的慢速更新、删除和插入查询

用于国际和多语言目的的数据库建模

PHP 判断 NULL

Mysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'

使用 MySql,我可以对列进行排序但最后有 0 吗?

在osx的命令行中使用Mysql-找不到命令?

ON UPDATE RESTRICT 有什么作用?