加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2022-03-04 20:53:51 所属栏目:MySql教程 来源:互联网
导读:MySQL中SQL Mode的查看与设置 MySQL可以运行在不同的模式下,而且可以在不同的场景下运行不同的模式,这主要取决于系统变量 sql_mode 的值。本文主要介绍一下这个值的查看与设置,主要在Mac系统下。 对于每个模式的意义和作用,网上很容易找到,本文不做介绍
      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.

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!