- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
mysql中sql_mode的查看和设置
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。
查看当前的sql_mode
select @@session.sql_mode;
select @@global.sql_mode;
# 或者
show variables like 'sql_mode';
临时设置方式:
设置当前窗口中设置sql_mode
SET GLOBAL sql_mode = 'modes...'; #全局
SET SESSION sql_mode = 'modes...'; #当前会话
示例:
#改为严格模式。此方法只在当前会话中生效,关闭当前会话就不生效了。
SET SESSION sql_mode='STRICT_TRANS_TABLES';
#改为严格模式。此方法在当前服务中生效,重启MySQL服务后失效。
SET GLOBAL sql_mode='STRICT_TRANS_TABLES';
永久设置方式:
在/etc/my.cnf中配置sql_mode
在my.cnf文件(windows系统是my.ini文件),新增:
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后重启MySQL。 当然生产环境上是禁止重启MySQL服务的,所以采用 临时设置方式 + 永久设置方式
来解决线上的问题, 那么即便是有一天真的重启了MySQL服务,也会永久生效了。
蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
售前咨询
售后咨询
备案咨询
二维码
TOP