Spec-Zone .ru
спецификации, руководства, описания, API
|
Если Вы получаете следующее сообщение, пытаясь выполнить a ROLLBACK
, это означает, что один или больше таблиц Вы использовали в транзакции,
не поддерживают транзакции:
Warning: Some non-transactional changed tables couldn't be rolled back
На эти нетранзакционные таблицы не влияют ROLLBACK
оператор.
Если Вы сознательно не смешивали транзакционные и нетранзакционные таблицы в пределах транзакции, наиболее
вероятная причина для этого сообщения состоит в том, что таблица, Вы думали, была транзакционной, фактически не.
Это может произойти, если Вы пытаетесь составить таблицу, используя транзакционный механизм хранения, который не
поддерживается Вашим mysqld сервером (или это было отключено с опцией запуска).
Если mysqld
не поддерживает механизм хранения, он вместо этого составляет таблицу как a MyISAM
таблица, которая является нетранзакционной.
Можно проверить механизм хранения на таблицу при использовании любого из этих операторов:
SHOW TABLE STATUS LIKE 'tbl_name
';SHOW CREATE TABLEtbl_name
;
См. Раздел
13.7.5.37,"SHOW TABLE STATUS
Синтаксис", и Раздел
13.7.5.12,"SHOW CREATE TABLE
Синтаксис".
Чтобы проверить, который поддерживают механизмы хранения Ваш mysqld сервер, используйте этот оператор:
SHOW ENGINES;
См. Раздел 13.7.5.17,"SHOW ENGINES
Синтаксис" для полного изложения.