SQL Откат не возвращается к последнему коммиту - PullRequest
0 голосов
/ 07 апреля 2020

У меня проблема со следующим в SQL:

SELECT
    *
FROM
    department_dup
ORDER BY dept_no;

enter image description here

Затем я запустил этот кусок кода:

COMMIT;

UPDATE department_dup
SET
    dept_no = 'd011',
    dept_name = 'Quality Control'
    ;

ROLLBACK;
SELECT * from department_dup;

Но таблица не возвращается к последнему коммиту

enter image description here

Может кто-нибудь сказать, что здесь происходит не так? Спасибо!

1 Ответ

1 голос
/ 07 апреля 2020

По умолчанию MySQL запускает сеанс для каждого нового соединения с включенной автоматической фиксацией, поэтому MySQL выполняет фиксацию после каждого оператора SQL, если этот оператор не возвращает ошибку

Опция 1: Выключите autocomit

SET autocommit = 0

ВАРИАНТ 2: Используйте границы транзакции.

START TRANSACTION;

UPDATE department_dup
SET
    dept_no = 'd011',
    dept_name = 'Quality Control'
    ;

ROLLBACK;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...