我正在尝试使用第二代云 sql,并想更改 sql 模式。在 UI 中,我只能将 sql_mode 设置为下拉列表中的一个值,但不能设置多个值(例如“STRICT_MODE_TRANS,ALLOW_INVALID_DATES”)。实现这一目标的最佳方法是什么?
干杯,
安德烈斯
我知道这篇文章已有 1 年历史,但当我尝试使用 5.7 将数据库从 MySQL 5.5 迁移到 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
将从字符串的其余部分中删除该值。
From MySQL 5.7 文档 https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_traditional:
在 MySQL 5.7.4 之前以及在 MySQL 5.7.8 及更高版本中,TRADITIONAL 相当于 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。
我只会将其添加为上面的评论,但由于缺乏要点,我还无法添加评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)