草庐IT

TRANSACTIONS

全部标签

php - Laravel 查询生成器 - sum() 方法问题

我是laravel的新手,我在查询构建器方面遇到了一些问题。我想构建的查询是这个:SELECTSUM(transactions.amount)FROMtransactionsJOINcategoriesONtransactions.category_id==categories.idWHEREcategories.kind=="1"我尝试构建它,但它不起作用,我无法弄清楚我哪里错了。$purchases=DB::table('transactions')->sum('transactions.amount')->join('categories','transactions.categ

php - 如何使用 codeigniter 中的事务根据数据更改进行提交和回滚?

我想了解如何使用MYSQLTRANSACTIONS。我有一个用例,我有两个表。比方说表1和表2。现在我在Table1中插入一些数据,并且从该表中获取的insertid我想将其插入到表2中。如果值在Table1中成功插入,并且在插入Table2值期间如果发生任何错误,我也想从Table1中删除这些值,因为对我的Table2的查询不成功。我只想了解如何使用Codeigniter完成此操作。如何根据需要提交或回滚。请帮助我提供一些示例代码以帮助我理解。更新我还提到了Codeigniter用户指南。但是我不明白手动运行事务的概念这是什么意思?如上所述,我想做一些类似自动触发的事情,我的意思是,

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-

mysql - 高度事务性系统中的触发器

我们正在创建一个以MySQL作为数据库(innodb引擎)的高度事务性系统。我们在表t1上有一个插入和更新触发器,它正在更新表t2和t3。我们观察到,只要并发用户量很高,我们就会在表t1上发生死锁。我们假设触发器正在发出一个表锁,直到它完成它的执行。我们在t1上触发了触发器,令人惊讶的是不再有死锁了。我的问题:是否不建议在高度事务性的系统中使用触发器如果不触发,我们还有哪些其他选项可以实现相同的逻辑。表t1大约有70,000行并且每天都在增加。感谢任何输入。提前致谢。 最佳答案 您可以改用事务并在客户端进行所有处理。STARTTRA

mysql事务错误处理

DECLAREEXITHANDLERFORSQLEXCEPTION,SQLWARNING,NOTFOUNDBEGINROLLBACK;END;STARTTRANSACTION;UPDATEtbl_orderSETTransactionID="abc"WHEREOrderID=1;UPDATEtbl_orderSETTransactionID="xyz"WHEREOrderID=;UPDATEtbl_orderSETTransactionID="zzz"WHEREOrderID=13;COMMIT;由于某种原因,订单1和13被填充而没有回滚,我得到了退出hadler的语法错误。Query

MySQL锁定重复键错误

来自docs:Ifaduplicate-keyerroroccurs,asharedlockontheduplicateindexrecordisset.Thisuseofasharedlockcanresultindeadlockshouldtherebemultiplesessionstryingtoinsertthesamerowifanothersessionalreadyhasanexclusivelock.Thiscanoccurifanothersessiondeletestherow.按照文档中的示例,假设InnoDB表t1具有以下结构:CREATETABLEt1(iI

PHP PDO MySQL 以及它如何真正处理 MySQL 事务?

我正在努力克服它,但我就是无法理解使用PDO和MySQL在PHP中处理事务背后的逻辑。我知道这个问题会很长,但我认为这是值得的。考虑到我阅读了很多关于MySQL事务的文章,服务器如何处理它们,它们与锁和其他隐式提交语句的关系等等,不仅在SO上,而且在MySQL和PHP手册上:MysqltransactionswithintransactionsDifferencebetweenSETautocommit=1andSTARTTRANSACTIONinmysql(HaveImissedsomething?)https://dev.mysql.com/doc/refman/5.7/en/co

php - MySQL 插入语句队列

我们正在构建一个ajax应用程序,其中将用户输入提交给php脚本进行处理。我们目前正在将每个请求写入日志文件以供跟踪。我想将此跟踪移动到数据库表中,但我不想在请求后运行插入语句。我想做的是设置一个需要在MySQL数据库上处理的事务(插入和更新)的“队列”。然后我会设置一个cron作业或进程来检查和处理队列中的事务。有没有我们可以构建的东西,或者我们是否必须写入纯文本日志文件并处理它们? 最佳答案 你想要Gearman-它将请求排队并在数据库准备好时插入它们,因此您不会使数据库服务器重载。Gearmanprovidesageneric

mysql - 在一天内为实体生成唯一序列号

我需要为插入到表中的实体生成唯一编号。每个数字由实体创建日期和序列号组成:date+sn。序列号必须在第二天开始时重新设置。|id|creationdate|uniquenumber|--------------------------------------|1|Sep1,2010|201009011||2|Sep1,2010|201009012||3|Sep2,2010|201009021||4|Sep2,2010|201009022|如何在MySQL数据库中使用JPA而不是Hibernate(目前它们用于所有数据库交互)并以事务安全的方式(可以同时插入实体)完成?当然,我会欣赏所

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

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