Я использую SQLyog в качестве клиента против MYSQL.
Я хотел бы выполнить сценарий SQL с возможностью фиксации или отката (как с клиентом SQLDeveloper). Как я могу сделать это с SQLyog? Я искал в Интернете и помощи, но безрезультатно.
Согласно этой статье каждый клиент подключается к mysql с включенным автокоммитом.
Вы можете отключить его и работать с откатом, как в SQLdeveloper. Но в отличие от SQL-разработчика, вы должны выполнять операторы коммитов вручную.
Если вы запустите сеанс БД с помощью START TRANSACTION
, все будет контролироваться через MVCC, и вам придется выполнить COMMIT
. Если соединение с БД прекращается (добровольно или невольно), все откатится.
Вы также можете установить SET autocommit = 0;
отключить его для вашей сессии.
Пожалуйста, убедитесь, что все задействованные таблицы InnoDB
Если какие-либо таблицы, участвующие в соединениях UPDATE и DELETE, содержат смесь InnoDB и MyISAM, изменения в таблице MyISAM не будут откатываться, поскольку она не поддерживает ACID-совместимые транзакции.