6

Я использую MySQL Workbench 5.2, и всякий раз, когда я подключаюсь к базе данных, автоматически включается фиксация.

Есть ли способ изменить поведение по умолчанию, чтобы отключить автоматическую фиксацию, я забыл об этом и не хочу обновлять проблемную фиксацию только потому, что забыл отключить ее вручную.

4 ответа4

4

Добавьте это в /etc/my.cnf (Linux) или my.ini (Windows)

[mysqld]
autocommit=0

Требуется перезапуск mysql !!! :(

ОБНОВЛЕНИЕ 2011-08-03 12:18 ПО ВОСТОЧНОМУ ВРЕМЕНИ

В MySQL Workbench вы должны убедиться, что мастер изменения данных включен. Вот почему:

Включить мастер фиксации изменений данных. В редакторе SQL при редактировании данных таблицы и нажатии кнопки «Применить изменения к данным» запускается мастер, который поможет вам применить ваши изменения. Это дает вам возможность просмотреть SQL, который будет применен к работающему серверу для внесения запрошенных изменений. Если этот параметр не выбран, изменения будут просто применены к серверу, без отображения мастера и без возможности просмотра изменений, которые будут внесены.

Вот как это проверить:

  • Откройте MySQL Workbench
  • Нажмите Редактировать в строке главного меню
  • Нажмите Настройки под Редактировать
  • Нажмите вкладку редактора SQL
  • Ищите последний флажок под результатами запроса

Если этот флажок установлен, данные фиксируются с помощью мастера, требующего вмешательства пользователя.

Если этот флажок не установлен, данные фиксируются, минуя протоколы автоматической отправки MySQL.

1

Начиная с MySQL Workbench 6.0.0, вы можете установить предпочтение "Оставить режим автоматической фиксации включенным по умолчанию". Установите его в Предпочтения -> SQL-запросы -> Общие.

1

Попробуйте SET SESSION autocommit = 0; Это переключит флаг автоматической фиксации на OFF в этом сеансе.

Это сработало для меня.

1

Я начну с упоминания моего собственного вопроса о переполнении стека около года назад, и это примерно такой же вопрос: как настроить клиентскую конфигурацию для MySQL Workbench без установленного сервера?

Как уже упоминалось в ответе здесь, начиная с MySQL WB 6 вы можете установить параметр "оставить режим автоматической фиксации по умолчанию включенным" в "Предпочтения"> «SQL-запросы»> "Общие".

Для более ранних версий может быть возможно настроить файл «my.ini».
Почему только "возможно"? Потому что раньше он работал у меня (WB 5?), Но сейчас не работает на WB 6.3.

Во-первых, нам нужно выяснить, где WB ищет файл. Есть несколько вопросов на эту тему, поэтому вам, возможно, придется немного поиграться (честно говоря, это грязная проблема).
Наилучший способ, если он доступен, - перейти в меню "Сервер" и нажать "Файл опций". Он либо скажет вам, что файл не существует (и сообщит вам путь, который ищет), либо откроет конфигурацию и укажет путь внизу.

Теперь нам нужно добавить следующую строку в файл «my.ini» в разделе [client] (добавьте также, если он не существует):

init-command="SET autocommit=0"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .