2016-08-22 2 views
2

Я пытаюсь использовать sql-сервер второго поколения и хотел бы изменить режим sql. В пользовательском интерфейсе я могу только установить sql_mode в одно значение из раскрывающегося списка, но не с несколькими из них (например, «STRICT_MODE_TRANS, ALLOW_INVALID_DATES»). Какой был бы лучший способ добиться этого?Как я могу установить sql_mode в список значений

Приветствия, Andres

ответ

2

Это не поддерживается прямо сейчас с помощью Google Cloud SQL. Вы можете установить только одно значение.

+0

Это ... это меня огорчает. Но по крайней мере я могу перестать чувствовать, что я беру сумасшедшие таблетки, пытаясь заставить работать несколько ценностей. – ingernet

4

Я знаю, что этому сообщению 1 год, но я наткнулся на это сейчас, когда у меня возникла проблема с sql_mode, когда я попытался выполнить миграцию базы данных из MySQL 5.5 в Google SQL с помощью 5.7. Хотя я знаю, что мы могли бы 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

Отличный ответ! Если вы пытаетесь обновить экземпляр Cloud SQL sql_mode с помощью пользовательского интерфейса, используйте утилиты командной строки 'gcloud'. Работает как шарм. – Overbryd