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

所属分类: 数据库 / Mysql 阅读数: 1677
收藏 0 赞 0 分享

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 数据库更新错误的解决方法

Mysql 数据库更新错误的解决方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

mysql主从库不同步问题解决方法

本来配置可以使用的mysql主从库同步的数据库,突然出现无法同步的情况。那么大家可以参考下面的方法解决下。
收藏 0 赞 0 分享

解决mysql ERROR 1017:Can't find file: '/xxx.frm' 错误

如果重启服务器前没有关闭mysql,MySql的MyiSAM表很有可能会出现 ERROR #1017 :Can't find file: '/xxx.frm' 的错误
收藏 0 赞 0 分享

linux忘记mysql密码处理方法

这篇文章主要为大家介绍下linux忘记mysql密码处理方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

MySQL 重装MySQL后, mysql服务无法启动

把mysql程序卸载后, 重装, 结果mysql服务启动不了,碰到这个问题的朋友可以参考下。
收藏 0 赞 0 分享

RedHat下MySQL的基本使用方法分享

RedHat 下MySQL安装,简单设置以用基本的使用方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

mysql千万级数据大表该如何优化?

如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下
收藏 0 赞 0 分享

彻底卸载MySQL的方法分享

由于安装MySQL的时候,疏忽没有选择底层编码方式,采用默认的ASCII的编码格式,于是接二连三的中文转换问题随之而来,就想卸载了重新安装MYSQL,这一卸载倒是出了问题,导致安装的时候安装不上,在网上找了一个多小时也没解决。
收藏 0 赞 0 分享

MySQL数据表字段内容的批量修改、清空、复制等更新命令

MySQL数据表字段内容的批量修改、清空、复制等更新命令,需要的朋友可以参考下。
收藏 0 赞 0 分享

MySQL SHOW 命令的使用介绍

MySQL SHOW 命令的使用介绍,使用mysql的朋友可以参考下。
收藏 0 赞 0 分享
查看更多