Spec-Zone.ru › MySQL 9.2

B.3.4.5 Отказ от отката для нетранзакционных таблиц

Если при попытке выполнить ROLLBACK, вы получаете следующее сообщение, это означает, что одна или несколько таблиц, используемых вами в транзакции, не поддерживают транзакции:

Warning: Some non-transactional changed tables couldn't be rolled back

Эти нетранзакционные таблицы не затрагиваются операцией ROLLBACK.

Если вы намеренно не смешивали транзакционные и нетранзакционные таблицы в рамках транзакции, наиболее вероятной причиной этого сообщения является то, что таблица, которую вы считали транзакционной, на самом деле таковой не является. Это может произойти, если вы пытаетесь создать таблицу с использованием транзакционного движка хранения, который не поддерживается вашим сервером mysqld (или который был отключен с помощью параметра запуска). Если сервер mysqld не поддерживает движок хранения, он вместо этого создаёт таблицу как таблицу MyISAM, которая является нетранзакционной.

Вы можете проверить движок хранения для таблицы, используя одно из этих утверждений:

SHOW TABLE STATUS LIKE 'tbl_name';
SHOW CREATE TABLE tbl_name;

См. раздел 15.7.7.38, «Операция SHOW TABLE STATUS» и раздел 15.7.7.12, «Операция SHOW CREATE TABLE».

Чтобы проверить, какие движки хранения поддерживает ваш сервер mysqld, используйте это утверждение:

SHOW ENGINES;

См. раздел 15.7.7.18, «Операция SHOW ENGINES» для получения подробных сведений.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/nontransactional-tables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API