[mysql] Some non-transactional changed tables couldn't be rolled back

使用peewee的事务时,碰到一个郁闷的问题,事务似乎无效!

于是简化了下模型,写了简单的测试代码,发现问题,如题所示。

找到解答:

https://github.com/etianen/django-reversion/issues/362

https://dev.mysql.com/doc/refman/5.0/en/nontransactional-tables.html

原因就是数据库表的引擎需要设置为InnoDB才能支持事物,解决方法如下:

http://dev.mysql.com/doc/refman/5.6/en/converting-tables-to-innodb.html

即,将需要支持事物的表的引擎设置为InnoDB,sql如下:

alter table my_table engine=InnoDB;

[mysql] Some non-transactional changed tables couldn't be rolled back

时间: 2024-10-03 22:56:13

[mysql] Some non-transactional changed tables couldn't be rolled back的相关文章

MySQL锁表_LOCK TABLES_UNLOCK TABLES

mysql5.6 参考文档:http://dev.mysql.com/doc/refman/5.6/en/lock-tables.html 锁表和解锁表的基本语法 LOCK TABLES         tbl_name [[AS] alias] lock_type     [, tbl_name [[AS] alias] lock_type] ...      UNLOCK TABLES lock_type:     READ [LOCAL]   | [LOW_PRIORITY] WRITE

mysql explain中的 “Select tables optimized away”

mysql explain中的 “Select tables optimized away” http://blog.chinaunix.net/uid-10449864-id-2956845.html2009年 今天在做SQL语句优化的时候,在explain的时候,有这样一个提示: mysql> explain SELECT max( up_start ) AS up_start FROM test WHERE up_start > '2008-01-19 00:00:00' and up_

【mysql元数据库】使用information_schema.tables查询数据库和数据表信息

概述 对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件. information_schema.tables存储了数据表的元数据信息,下面对常用的字段进行介绍: table_schema: 记录数据库名: table_name: 记录数据表名: engine : 存储引擎: table_rows: 关于表的粗略行估计: data_lengt

MYSQL ERROR

mysql出错了以前往往靠猜.有了这张表一查就出来了.方便不少.特共享于众 1005创建表失败 1006创建数据库失败 1007数据库已存在创建数据库失败 1008数据库不存在删除数据库失败 1009不能删除数据库文件导致删除数据库失败 1010不能删除数据目录导致删除数据库失败 1011删除数据库文件失败 1012不能读取系统表中的记录 1020记录已被其他用户修改 1021硬盘剩余空间不足请加大硬盘可用空间 1022关键字重复更改记录失败 1023关闭时发生错误 1024读文件错误 1025

MYSQL之错误代码----mysql错误代码与JAVA实现

原文地址:MYSQL之错误代码----mysql错误代码与JAVA实现作者:戒定慧 his chapter lists the errors that may appear when you call MySQL from any host language. The first list displays server error messages. The second list displays client program messages. Server error informati

MySQL 事务表和非事务表

MySQL 事务表和非事务表 查看 max_binlog_stmt_cache_size 参数解释时(入门教程qkxue.net),有这么一句话 If nontransactional statements within a transaction require more than this many bytes of memory, the server generates an error. 那么,什么是 nontransactional statements ? 在 http://dev

MySQL Error Code文档手册---摘自MySQL官方网站

This chapter lists the errors that may appear when you call MySQL from any host language. The first list displays server error messages. The second list displays client program messages. Server error information comes from the following files: The Er

MySql: show databases/tables use database desc table

1. show databases mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || test |+--------------------+4 rows in set (0.00 sec) 2. use database_name mysql> use testDatabase

MySQL Information Functions

Table 12.18 Information Functions Name Description BENCHMARK() Repeatedly execute an expression CHARSET() Return the character set of the argument COERCIBILITY() Return the collation coercibility value of the string argument COLLATION() Return the co