一、5.6公升級到5.7
select col1,col2,sum(col3) from tablename group by col5;會報錯。
因為mysql5.7 sql_mode預設only_full_group_by,即group by 聚合列必須在select 欄位列中。
解決方法:
1、熟知5.7特點,從開發開始就養成習慣,group by 聚合列一定要出現在select 後。
2、開發中期或開發完成,修改業務**比較費時費工,那麼需要需要sql_mode.
set @@sql_mode = 『』 去掉sql_mode中的 only_full_group_by二、5.7公升級到8
1、隱藏索引
隱藏乙個索引的語法
alter table t alter index i invisible;
恢復顯示該索引的語法是:
alter table t alter index i visible;
當乙個索引隱藏時,他不會被查詢優化器所使用2、設定持久化
mysql 的設定可以在執行時通過 set global 命令來更改,但是這種更改只會臨時生效,到下次啟動時資料庫又會從配置檔案中讀取。
mysql 8 新增了 set persist 命令,例如:
set persist max_connections = 500;
mysql 會將該命令的配置儲存到資料目錄下的 mysqld-auto.cnf 檔案中,下次啟動時會讀取該檔案,用其中的配置來覆蓋預設的配置檔案。
3、utf-8 編碼
從 mysql 8 開始,資料庫的預設編碼將改為 utf8mb4,這個編碼包含了所有 emoji 字元。
4、視窗函式
MYSQL公升級遇到的問題
如果你公升級mysql到4.1以上版本後遇到以上問題,請先確定你的mysql client 是4.1或者更高版本.windows下有問題你就直接跳到下面看解決方法了,因為mysql 在windows是client和server一起裝上了的 解決方法 請使用以下四種方法之一 其一 mysql set ...
mysql版本公升級問題處理
之前是5.5的版本,因為要用到set optimizer trace enabled on 這個引數是5.6後才有的。所以公升級mysql 安裝新的mysql5.6 1 解壓官網的壓縮包後,修改my.ini檔案 沒有就新增 資料目錄對應修改mysql安裝目錄 client port 3306 def...
mysql版本公升級引發的問題
問題描述 1.ibatis 中 mysql語句 select d.qid,group concat epq.qid qids from table1 d,table2 epq where d.qid qid and d.pid epq.pid group by d.checkpid limit 1 ...