tft每日頭條

 > 科技

 > mysql數據類型及使用教程

mysql數據類型及使用教程

科技 更新时间:2025-02-12 14:59:23
概述

之前生産環境配置文件裡的sql_mode有個模式ONLY_FULL_GROUP_BY,其意思是:

對于GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那麼将認為這個SQL是不合法的,因為列不在GROUP BY從句中。

如果自己sql中有group by,那就要注意了,今天順便總結下關于sql_mode模式方面的内容,也做個備忘!


一,sql_mode值的含義

mysql數據類型及使用教程(一文了解sqlmode模式定義你的mysql數據庫校驗模式)1

mysql5.0以上版本支持三種sql_mode模式:

mysql數據類型及使用教程(一文了解sqlmode模式定義你的mysql數據庫校驗模式)2

這個sql_mode簡而言之就是:它定義了你MySQL應該支持的sql語法,對數據的校驗等等。。

如何查看當前數據庫使用的sql_mode:

mysql> select @@sql_mode;

如下是我的數據庫當前的模式:

mysql數據類型及使用教程(一文了解sqlmode模式定義你的mysql數據庫校驗模式)3

設置 sql_mode

1、查看當前連接會話的sql_mode模式:

mysql> select @@session.sql_mode;

2、從環境變量查看sql_mode模式

mysql> show variables like "sql_mode";

3、查看全局sql_mode設置:

mysql> select @@global.sql_mode;

mysql數據類型及使用教程(一文了解sqlmode模式定義你的mysql數據庫校驗模式)4

4、設置global:

mysql> set global sql_mode='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE';

mysql數據類型及使用教程(一文了解sqlmode模式定義你的mysql數據庫校驗模式)5

5、設置全局sql_mode可以在不重啟MySQL的情況下生效

配置文件裡面設置

sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE

修改配置文件後,重啟MySQL服務生效


篇幅有限,關于sql_mode方面的内容就介紹到這了,後面會分享更多mysql方面内容,感興趣的朋友可以關注下!

mysql數據類型及使用教程(一文了解sqlmode模式定義你的mysql數據庫校驗模式)6

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved