MySQL中SQL Mode的查看与设置详解

 更新时间:2020年03月17日 10:08:34   作者:藏色散人  
在本篇文章里小编给各位分享的是关于MySQL中SQL Mode的查看与设置详解内容,需要的朋友们可以参考下。

MySQL中SQL Mode的查看与设置

MySQL可以运行在不同的模式下,而且可以在不同的场景下运行不同的模式,这主要取决于系统变量 sql_mode 的值。本文主要介绍一下这个值的查看与设置,主要在Mac系统下。

对于每个模式的意义和作用,网上很容易找到,本文不做介绍。

按作用区域和时间可分为3个级别,分别是会话级别,全局级别,配置(永久生效)级别。

会话级别:

查看-

select @@session.sql_mode;

修改-

set @@session.sql_mode='xx_mode'
set session sql_mode='xx_mode'

session均可省略,默认session,仅对当前会话有效

全局级别:

查看-

select @@global.sql_mode;

修改-

set global sql_mode='xx_mode';
set @@global.sql_mode='xx_mode';

需高级权限,仅对下次连接生效,不影响当前会话(亲测过),且MySQL重启后失效,因为MySQL重启时会重新读取配置文件里对应值,如果需永久生效需要修改配置文件里的值。

配置修改(永久生效):

打开 vi /etc/my.cnf

在下面添加

[mysqld]
sql-mode = "xx_mode"

注意:[mysqld]必须加,且sql-mode中间是“-”,而不是下划线。

保存退出,重启服务器,即可永久生效。

因为Mac下安装MySQL没有配置文件,所以需要自己手动添加。

ps

最后额外加一点东西,就是Mac下MySQL的启动、停止、重启等操作。

主要有两种方式,

一是点击”系统偏好设置“对应的MySQL面板,可实现管理。

二是命令行方式。

MySQL相关的执行脚本,常用的主要是下面两个:

/usr/local/mysql/support-files/mysql.server
/usr/local/mysql/bin/mysql

mysql.server是控制服务器的启停等操作。

mysql.server start|stop|restart|status

mysql主要用于连接服务器。

mysql -uroot -p **** -h **** -D **

有些需要sudo权限,且可将相关路径添加到环境变量,可简化书写,至于如何添加是不做介绍了。

知识点扩展:

Strict Mode阐述

根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制:

1).不支持对not null字段插入null值

2).不支持对自增长字段插入''值,可插入null值

3).不支持 text 字段有默认值

看下面代码:(第一个字段为自增字段)

$query="insert into demo values('','$firstname','$lastname','$sex')";

上边代码只在非strict模式有效。

Code代码

$query="insert into demo values(NULL,'$firstname','$lastname','$sex')";

上边代码只在strict模式有效。把空值''换成了NULL.

相关文章

  • MySQL中的数据备份与SQL语句

    MySQL中的数据备份与SQL语句

    这篇文章主要介绍了MySQL中的数据备份与SQL语句,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MySQL 空间碎片的查看与回收

    MySQL 空间碎片的查看与回收

    ySQL数据库在运行过程中可能会出现空间碎片的问题,本文就来介绍一下MySQL 空间碎片的查看与回收 ,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • 关于MySql链接url参数的设置

    关于MySql链接url参数的设置

    最近整理了一下网上关于MySql 链接url 参数的设置以及常用的几个较为重要的参数,大家若感兴趣可以参考下
    2014-03-03
  • 解决MySQL共享锁引发的死锁问题

    解决MySQL共享锁引发的死锁问题

    这篇文章主要给大家介绍了MySQL共享锁引发的死锁问题的原因和解决办法,文中通过代码示例和图文介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • 一篇文章带你了解MySQL单表访问方法

    一篇文章带你了解MySQL单表访问方法

    MySQL将对数据不同的访问方式称为access method (访问方法),同一个SQL可以用不同的访问方法执行,不过不同的方法花费的成本差异也是巨大的,下面这篇文章主要给大家介绍了关于MySQL单表访问方法的相关资料,需要的朋友可以参考下
    2023-06-06
  • MySQL 重写查询语句的三种策略

    MySQL 重写查询语句的三种策略

    这篇文章主要介绍了MySQL 重写查询语句的三种策略,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-05-05
  • 一步到位讲解ubuntu安装MySql

    一步到位讲解ubuntu安装MySql

    Ubuntu是一个使用非常广泛的Linux发行版,Ubuntu Server则是云上最流行的服务器操作系统,下面这篇文章主要给大家介绍了关于ubuntu安装MySql的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • MySQL中utf8mb4排序规则示例

    MySQL中utf8mb4排序规则示例

    本文主要介绍了MySQL中utf8mb4排序规则,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • MySQL中的集合运算符详解

    MySQL中的集合运算符详解

    本文主要介绍了MySQL中的集合运算符,包括UNION、INTERSECT、EXCEPT等,这些运算符用于结合两个或多个SELECT语句的结果集,并进行去重、合并或差集操作
    2025-02-02
  • 在MySQL中使用序列的简单教程

    在MySQL中使用序列的简单教程

    这篇文章主要介绍了在MySQL中使用序列的简单教程,是MySQL入门学习中的基础知识,文中给出了基于PHP和Perl脚本的示例,需要的朋友可以参考下
    2015-05-05

最新评论