Spec-Zone.ru › MySQL 8.4

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.11, «Оператор SHOW CREATE TABLE».

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

SHOW ENGINES;

См. Раздел 15.7.7.17, «Оператор SHOW ENGINES» для получения подробной информации.

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

Spec-Zone.ru

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