2016-08-22 74 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

相关问题