transactions相关内容

数据库厂商如何实现事务?

在使用数据库时,使用事务通常是必不可少的.举个例子,我想从账户 A 向账户 B 转账一定数额的钱.这涉及两个查询: 减少账户A中的钱 在帐户 B 中增加它. 理论上我可以单独进行查询,但会发生错误.因此,可以肯定的是,我可以将两个查询打包到一个事务中,并确保两个操作都定期结束或根本没有任何变化.没有金钱消失或创造. 问题是在我看来这只是将责任从我转移到数据库供应商身上.现在由数 ..
发布时间:2022-01-06 20:56:33 其他开发

SqlConnection 如何管理IsolationLevel?

这篇MSDN文章指出: 隔离级别具有连接范围范围,一旦设置为连接使用 SET 事务隔离LEVEL 声明,它仍然有效直到连接关闭或设置了另一个隔离级别.当一个连接关闭并返回池,隔离级别从最后设置事务隔离级别声明被保留.随后的连接重用池连接使用隔离级别这在当时有效连接已池化. SqlConnection 类没有可以持有隔离级别的成员.那么连接如何知道运行在什么隔离级别??? 我问这个 ..
发布时间:2022-01-06 20:56:14 C#/.NET

当事务属性为“必需"时,为什么 CMT 在 EJB 方法退出时提交?

我一直发现我已经存在的事务在标记为 @ejb.transaction type="Required" 的 EJB 的任何方法中被提交.这是正确的吗? 我的期望是,一个 EJB“需要"一个事务意味着:如果已经有一个事务,它会在完成时礼貌地让它不提交,以便调用 begin() 的人可以在调用 之前继续使用它进行进一步的操作commit() 或 rollback().[当然,如果首先没有事务,那么 ..
发布时间:2022-01-06 20:56:07 其他开发

PostgreSQL - 只允许 DB 用户调用函数

目前我在我的应用程序中使用 PostgreSQL.由于我试图将包含事务(即插入、更新、删除)的每个 SQL 放在一个函数中,我偶然发现了这个问题: 是否有可能只允许数据库用户调用函数和 Select-Statements 而不能调用包含事务的 SQL-Statements?“调用函数"是指任何函数.不管它是否包含交易. 我已经尝试创建一个只能调用函数和选择语句的用户.但是在调用包含事务 ..

在 Codeigniter 下,是否可以看到 mysql_error()?

我有一个 Codeigniter 应用程序(使用 2.1.0 版)正在将事务写入 mysql 数据库.我相当确定我发生了外键约束错误,但我找不到让 CI 告诉我特定错误的方法.mysql_error() 返回空. 谁能告诉我如何让 Codeigniter 告诉我 mysql 错误信息? 解决方案 是的,这是 mysql_error() 包装器. $this->db->_error_ ..
发布时间:2022-01-06 20:55:22 数据库

PHP/MySQL - 如何防止两个请求 *Update

我有一个问题...例如:用户会用他的美元买东西 检查他的美元余额 从他的账户中扣除美元 下订单 -> 订单队列 用户得到他的物品,另一个得到他的美元 假设用户在同一秒内发出 5 个请求(非常快).所以有可能(并且发生)有 5 个请求正在运行.他只有从 1 个请求购买的钱.现在的要求太快了,脚本会检查他的余额,但不是太快,以至于它扣除了他账户里的钱.所以请求会通过两次!如何解决? ..
发布时间:2022-01-06 20:54:23 PHP

Spring - 事务只读

只是想了解您对 Spring 声明式事务管理的专家意见.这是我的设置: DAO 层是使用 Spring JdbcTemplate 的普通老式 JDBC(无 Hibernate 等) 服务层是具有声明性事务的 POJO,如下所示 -save*, readonly = false, 回滚 Throwable 以上设置一切正常.但是,当我说 get*, readonly = true 时, ..
发布时间:2022-01-06 20:54:08 Java开发

MySQL:在事务中截断表?

我有一个 InnoDB 表,需要在 60k 到 200k 记录内每十分钟重新填充一次.到目前为止,我们的方法如下: 关闭自动提交 截断表格 执行选择查询附加计算(使用 PHP) 插入新记录 提交 执行截断操作后,数据会立即删除,并且不再可从用户界面访问.对于我们的用户来说,这非常令人不安,即使在大约 30 秒左右的时间内脚本遇到了 Commit 操作并重新填充了表. 我想 ..
发布时间:2022-01-06 20:53:52 数据库

事务范围超时 10 分钟

我在 C# 中有一个长期运行的 TransactionScope.我告诉示波器它应该有很长的时间跨度,但我仍然超时.什么可能导致这种情况? TransactionOptions transactionOptions = new TransactionOptions();transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted ..
发布时间:2022-01-06 20:53:46 C#/.NET

数据库事务 - 它们是如何工作的?

我正在尝试了解有关数据库事务的更多信息,我找到了编写事务的 ACID 经验法则并想到了一些问题. ACID 经验法则: 交易必须: 原子 - 它是一个工作单元,不依赖于以前的和跟踪交易. 一致 - 数据要么提交要么回滚,没有“中间"情况已更新,但有些内容尚未更新. 隔离 - 没有事务看到当前的中间结果交易. 持久 - 如果数据已提交,即使系统随即崩溃. 我想知道它们在 ..
发布时间:2022-01-06 20:53:37 其他开发

关系数据库可以横向扩展吗

经过一些谷歌搜索后,我发现: 来自 mysql 文档的注释: MySQL Cluster 自动跨节点分片(分区)表,使数据库能够以低成本、商品化的方式横向扩展用于服务读写密集型工作负载的硬件,可同时访问来自 SQL 和直接通过 NoSQL API. 关系型数据库可以横向扩展吗?它会以某种方式基于 NoSQL 数据库吗? 有人有真实世界的例子吗? 如何管理此类数据库中的 ..
发布时间:2022-01-06 20:53:24 数据库

Mongo DB 4.0 事务与 Mongoose &NodeJs, Express

我正在开发一个应用程序,在该应用程序中我使用 MongoDB 作为数据库,在应用程序层使用 Nodejs + Express,我有两个集合,即 用户 交易 在这里,我必须用一些金额更新数千名用户的钱包,如果成功为每笔交易创建一个包含相关信息的新文档,这是我的代码: userModel.update({_id : ObjectId(userId)}, {$inc : {wallet ..
发布时间:2022-01-06 20:53:16 其他开发

PHP PDO 事务?

我有一个注册页面,基本上我需要将数据插入到 4 个表中.我是 PDO 的新手,对某些事情感到困惑. 基本上,如果任何插入失败,我不希望向数据库添加任何内容,这似乎很简单. 我的困惑是,我需要首先在我的 users 表中插入用户的用户名、电子邮件、密码等,这样我就可以(不确定如何)使用 MySQL 为我的用户提供的 PDO(由 mysql 自动递增).我需要用户 uid MySQL 给我 ..
发布时间:2022-01-06 20:53:08 PHP

分布式事务和/或集群中共享数据的 Java 解决方案

集群/分发 Java 服务器应用程序的最佳方法是什么?我正在寻找一种方法,让您可以通过添加更多应用服务器和更多数据库服务器来进行水平扩展. 您建议使用哪些技术(软件工程技术或特定技术)来解决此类问题? 您使用什么技术来设计持久层以扩展到许多读者/作者扩展应用事务并扩展对共享数据的访问(最好的方法是消除共享数据;您可以应用哪些技术来消除共享数据). 似乎需要不同的方法,具体取决于您的事务是 ..

线程 Django 任务不会自动处理事务或数据库连接?

我已经将 Django 设置为在它们自己的线程中运行一些重复性任务,我注意到它们总是留下未完成的数据库连接进程(pgsql“事务空闲"). 我查看了 Postgres 日志,发现事务没有完成(没有回滚).我尝试在我的函数上使用各种事务装饰器,但没有成功. 我切换到手动事务管理并手动进行回滚,这可行,但仍使进程处于“空闲"状态. 然后我调用了 connection.close(), ..
发布时间:2022-01-06 20:52:14 Python