Error number: MY-010727; Symbol: ER_SYSTEM_TABLE_NOT_TRANSACTIONAL; SQLSTATE: HY000
Message: System table ‘%.*s’ is expected to be transactional.
错误说明:
MySQL ER_SYSTEM_TABLE_NOT_TRANSACTIONAL(MY-010727)错误代码表示事务中使用的存储引擎不支持系统表。此错误的发生意味着在事务中使用系统表时发生了错误,但是,这些表不支持事务处理。
ER_SYSTEM_TABLE_NOT_TRANSACTIONAL错误通常会在用户尝试在该表上执行事务处理时发生,比如在试图执行下面的SQL语句时:
START TRANSACTION;
INSERT INTO mysql.user (host, user, password)
VALUES (‘localhost’, ‘newUser’, ‘pwd’);
COMMIT;
解决方法:
在MySQL中,有许多是系统级表,它们不是真正的存储引擎表。这些表不能用于事务处理,因此您不应该尝试用事务处理操作这些表。如果该表本身以及表上的调用不需要事务处理,则可以忽略此错误。如果需要事务功能,则需要改用其他表类型,比如MyISAM,InnoDB或NDBCluster。