this is incompatible with sql_mode=only_full_group_by

在把服務從 AWS 搬到 GCP 的過程當中,發現了這樣的問題:this is incompatible with sql_mode=only_full_group_by。

查了一下才發現,原來從 MySQL 5.7 開始,sql_mode 預設會是 only_full_group_by 的設定。

而我目前在 AWS 上面的服務,因為也跑了有兩年之久,所以還停留在 MySQL 5.6 的版本,而 MySQL 5.6 並沒有將 only_full_group_by 作為預設。

根本的解決之道,是把這段不是太好的 SQL 給修好。

但眼前服務要能夠先完成移轉驗證,只好先在 GCP 上面做一些偷吃步的設定了:

進入到你的 Cloud SQL instance,選擇 Edit 後,在 database flags 的區段裡面增加 key 是 sql_mode、value 是 TRADITIONAL 的設定。

然後重新啟動 instance 即可。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.