Sobes.tech
Back to questions
Senior
9

Выполнятся ли INSERT и UPDATE если нет COMMIT в транзакции?

Companies where asked
Т-БанкТ-Банк

Answer from AI

sobes.tech AI

Если в транзакции выполнить INSERT или UPDATE, но не выполнить COMMIT, то изменения не будут зафиксированы в базе данных и, как правило, будут отменены при завершении сессии или при выполнении ROLLBACK.

То есть:

  • INSERT и UPDATE выполнятся локально в рамках транзакции, и вы сможете видеть изменения в текущей сессии.
  • Без COMMIT изменения не станут видимы другим сессиям и не сохранятся в базе.
  • При закрытии соединения или явном ROLLBACK все изменения будут отменены.

Это поведение обеспечивает атомарность и согласованность данных.

Пример:

BEGIN TRANSACTION;
INSERT INTO users (id, name) VALUES (1, 'Alice');
-- без COMMIT
ROLLBACK; -- изменения отменятся

В итоге в таблице users не появится новая запись.