2016-08-22 61 views
2

我正在嘗試使用第二代雲端sql並想更改sql模式。在UI中,我只能從下拉列表中將sql_mode設置爲一個值,但不能將其設置爲多個值(例如,「STRICT_MODE_TRANS,ALLOW_INVALID_DATES」)。什麼是最好的方式來實現這一目標?如何將sql_mode設置爲值列表

乾杯, 安德烈斯

回答

2

這不是由谷歌雲SQL支持現在。您只能設置一個值。

+0

這......這讓我難過。但至少我可以停止感覺我正在嘗試使用多種價值的瘋狂藥丸。 – ingernet

4

我知道這篇文章是1歲的,但是現在當我嘗試將數據庫從MySQL 5.5遷移到使用5.7的Google SQL時,我遇到了sql_mode的問題。雖然我知道我們可以使用SET GLOBAL sql_mode=''來達到我們想要的任何有效價值,但我們花了數小時才放棄,並得出結論,我們無法在Google Cloud SQL上設置多個值。

Google目前只允許在sql_mode標誌上設置一個值。如果你的問題涉及刪除ONLY_FULL_GROUP_BY(OP沒有提到他想要自定義值的原因)而不刪除sql_mode的其餘值,則使用控制檯中的TRADITIONAL或gcloud sql instances patch <instance_name> --database-flags sql_mode=TRADITIONAL將從該字符串的其餘部分刪除該值。

MySQL 5.7 Documentation

的MySQL 5.7.4之前,以及在MySQL 5.7.8或更高版本,傳統相當於STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER和NO_ENGINE_SUBSTITUTION。

我只是將此添加爲上面的註釋,但由於缺少點,我無法添加一個。

+0

很好的回答!如果您很難通過UI更新您的Cloud SQL實例sql_mode,請使用'gcloud'命令行工具。奇蹟般有效。 – Overbryd

相關問題