草庐IT

php - 事务无法在 codeigniter 中回滚

我正在处理事务,在提到的代码中我遇到了一些问题。我没有提交事务,但它向我的数据库中插入了数据。$this->db->trans_begin();$this->db->insert('tblorder',$data);$orderid=$this->db->insert_id();foreach($orderItemListas$orderItemList){$orderitem=array('orderid'=>$orderid,'productid'=>$orderItemList->productid,'amount'=>$orderItemList->amount);$this-

python - 无法回滚带有 MySQL 非事务性更改表的 Django

使用MySQL数据库时不断收到此警告:一些非事务性更改的表无法回滚我不确定这意味着什么,或者它是否会导致问题,但我希望有人能够告诉我这意味着什么。我正在获取一个CSV文件,逐行读取它并使用get_or_create创建Django对象。收到消息后,当我尝试重新创建它时,我在出现警告之前进一步查看了CSV文件。我尝试在线阅读有关此错误的信息,但我真的不明白它的含义。找出导致此问题的原因是理想的,但如果我不能,我想知道我是否可以抑制警告,因为它可能不会对我的数据库产生负面影响。 最佳答案 当您混合使用事务性和非事务性表时,就会发生这种情

php - 当用户中止连接时回滚事务

首先,抱歉我的英语不好,我是在谷歌翻译的帮助下写的。我正在尝试使用PHP和Ajax制作类似GoogleWave的应用程序。我有一个textarea,当用户输入内容时,页面上的javascript使用oninput检测并将textarea的内容发送到服务器,服务器将内容存储到数据库中。我所做的是,每次我通过XHR发送内容时,XHR.abort()总是会中断之前的XHR请求。数据库中的数据很好,但是,有时它存储的是以前的版本。我知道发生这种情况是因为即使客户端已经中止,PHP也没有停止执行,有时前一个请求比上一个请求花费更多的时间并在上一个请求之后完成,所以我阅读了函数手册“ignore_

python - 当 session.flush() 在 SQLAlchemy 上失败时,我应该调用回滚吗?

我知道当session.commit()失败时调用回滚,例如try-exceptblock。但是当session.flush()失败时,是否应该执行rollback()呢?try:session.flush()exceptIntegrityError:session.rollback() 最佳答案 接受的答案并不完全正确。关于Session.flush()的文档对此有点误导。失败时,事务(即数据库事务)将回滚(由数据库)。它的python对应物Session对象本身将处于“非事件”状态,并且根据文档12mustbeexplicitl

mysql - 使用 LOCK TABLES 回滚事务

我有一个PHP/5.2驱动的应用程序,它使用MySQL/5.1下的事务,因此如果遇到错误条件,它可以回滚多个插入。我有不同的可重用函数来插入不同类型的项目。到目前为止一切顺利。现在我需要对某些插入使用表锁定。正如官方手册所建议的那样,我使用SETautocommit=0而不是STARTTRANSACTION所以LOCKTABLES不会发出隐式提交。而且,如文档所述,解锁表会隐式提交任何事件事务:http://dev.mysql.com/doc/refman/5.1/en/lock-tables-and-transactions.html问题就在这里:如果我简单地避免UNLOCKTABL

mysql - 你能回滚状态为 'committing alter table to storage engine' 的查询吗

我们有一个包含7000万行的InnoDB表,我们一直在尝试运行altertable语句来修改和添加几列。查询似乎已经更改了表,现在处于“将更改表提交给存储引擎”的状态。STARTTRANSACTION;ALTERTABLEtableMODIFYCOLUMNcolumn1int(11)NOTNULLDEFAULT0,MODIFYCOLUMNcolumn2tinyint(1)NOTNULLDEFAULT1,ADDCOLUMNcolumn3int(11),ADDCOLUMNcolumn4int(11)NOTNULLDEFAULT1,ADDCOLUMNcolumn5varchar(255);C

mysql - MySQL shell 中的回滚在 ALTER TABLE 后不起作用

(MySQL5.5,InnoDB表)为什么我不能回滚到保存点或之前的begin语句?mysql>setautocommit=0;QueryOK,0rowsaffected(0.00sec)mysql>starttransaction;QueryOK,0rowsaffected(0.00sec)mysql>savepointid;QueryOK,0rowsaffected(0.00sec)mysql>altertablesg_Sectionaddcolumn(publishedtinyint(1)default0);QueryOK,2rowsaffected(0.30sec)Record

php - 事务回滚不起作用

我已经围绕PDO系统制作了一个具有额外功能的数据库包装器(是的,我知道一个包装器周围的包装器,但它只是具有一些额外功能的PDO)。但是我注意到一个问题。下面的内容并没有像它应该的那样工作:beginTransaction());$db->query('INSERTINTOtest(data)VALUES(?);',array('Foo'));print_r($db->query('SELECT*FROMtest;')->fetchAll());var_dump($db->rollBack());print_r($db->query('SELECT*FROMtest;')->fetchA

php - Zend Framework 数据库事务 - 无法回滚

好吧,让我先解决这个问题。我的问题与此类似:CannotrollbacktransactioninZendFramework我的表一直都是innoDB,一直都是。我已经检查了有问题的表,它确实是innoDB。关于问题..我有一个数据库实例,通过这个事务运行的模型实例访问同一个数据库:$db->beginTransaction();try{//Runaninsert$model_record->insert(array('single_item'=>'itsvalue'));//Morelogic,andrunanupdate.$model_record->this_value='tha

php - 让 Phing 的 dbdeploy 任务自动回滚增量错误

我正在使用Phing的dbdeploytask至managemydatabaseschema.这工作正常,只要在我的增量文件的查询中没有错误。但是,如果出现错误,dbdeploy将只运行增量文件直到出现错误的查询,然后中止。这让我有些沮丧,因为我必须手动回滚更改日志表中的条目。如果我不这样做,dbdeploy将假定迁移在后续尝试中成功,因此任何重试都不会执行任何操作。所以问题是,是否有任何方法可以让dbdeploy使用事务,或者您可以建议任何其他方法来在发生错误时自动回滚phing?注意:我对Phing不是很精通,所以如果这涉及编写自定义任务,非常感谢任何示例代码或包含更多信息的url