基于查询的触发器是原子的吗?

2024-03-06

我有一个带有序列号的表。此序列号将会更改,并且引用自动编号将不起作用。我担心触发器的值会发生冲突。如果两个事务同时读取。

我已经对 3 个连接运行了模拟测试,每个连接约 100 万条记录,没有发生冲突。

CREATE TABLE `aut` (
  `au_id` int(10) NOT NULL AUTO_INCREMENT,
  `au_control` int(10) DEFAULT NULL,
  `au_name` varchar(50) DEFAULT NULL,
  `did` int(10) DEFAULT NULL,
  PRIMARY KEY (`au_id`),
  KEY `Did` (`did`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1

TRIGGER `binc_control` BEFORE INSERT ON `aut` 
FOR EACH ROW BEGIN
SET NEW.AU_CONTROL = (SELECT COUNT(did)+1 FROM aut WHERE did = NEW.did);
END;

是的,如果两个会话同时运行触发器,这会受到竞争条件的影响。您不应该使用此解决方案。

测试期间可能不会发生,但您可以假设它will发生在生产过程中。 :-)

有句老话说,下周二是百万分之一 http://blogs.msdn.com/b/larryosterman/archive/2004/03/30/104165.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于查询的触发器是原子的吗? 的相关文章

  • 无法使用 PDO 插入 MySQL 数据库...没有错误

    我遇到一个问题 无法使用 PDO 将任何内容插入 MySQL 数据库 我没有收到任何错误 但每当我检查数据库是否已插入行时 表都是空的 我知道我有一个到数据库的连接 因为我可以选择但不能插入 这是我扩展 PDO 的类 class Datab
  • mysql故障转移:如何选择slave作为新的master?

    我是 mysql 新手 当涉及到故障转移时 哪个从机应该晋升为新的主机 例如 A是master B和C是slave A对B和C进行异步复制 在某个时间点 B 从 A 接收的数据多于 C A 崩溃 如果我们将C提升为新的master 并将B的
  • Hibernate 乐观锁..它是如何工作的?

    我正在阅读下面关于休眠乐观锁定的博客 我打算将它与休眠一起使用 但是 我有一个担忧 我们有java代码和c 代码 都连接到一个数据库 虽然java代码可以使用hibernate来实现乐观锁定 但我想让c 代码做同样的事情 此外 C 代码正在
  • MySQL - 返回每个 GROUP BY 的 X 个数字

    在此查询中 我指定要返回的汽车型号 硬编码 所以下面的 SQL 返回one每个模型的记录 SELECT FROM main WHERE marka name SUBARU AND model name IMPREZA AND kuzov G
  • 如何调试 MySQL 存储过程?

    我当前的调试存储过程的过程非常简单 我创建一个名为 debug 的表 在存储过程运行时从其中插入变量值 这允许我查看脚本中给定点的任何变量的值 但是有没有更好的方法来调试 MySQL 存储过程 下列debug msg可以调用过程来简单地将调
  • Hibernate 可以使用 MySQL 的“ON DUPLICATE KEY UPDATE”语法吗?

    MySQL 支持 INSERT ON DUPLICATE KEY UPDATE 语法允许您 盲目 插入数据库 并回退到更新现有记录 如果存在 当您想要快速事务隔离并且想要更新的值取决于数据库中已有的值时 这非常有用 作为一个人为的示例 假设
  • 在 MySQL 数据库中存储图像文件或 URL?哪个更好? [复制]

    这个问题在这里已经有答案了 可能的重复 在数据库中存储图像 是还是否 https stackoverflow com questions 3748 storing images in db yea or nay 数据库中的图像与文件系统中的
  • 如何用 UNION 运算符替换 OR 运算符?

    这是我的查询 SELECT h id h subject h body matnF h amount h keywords tags h closed h author id author h AcceptedAnswer h type h
  • SQL统计高于和低于平均分的学生人数

    我在下面有一个示例表 我试图获取高于平均分数的学生人数和低于平均分数的学生人数 name subject classroom classarm session first term score first term grade std1 m
  • MySQL用户创建的临时表已满

    我使用内存引擎创建了一个临时表 如下所示 CREATE TEMPORARY TABLE IF NOT EXISTS some text id INT DEFAULT 0 string varchar 400 DEFAULT engine m
  • MySQL+子串怎么做? + 替换?

    我不太擅长 SQL 希望能够变得更好 我在尝试执行某些表操作时遇到一些麻烦 我希望能够从下面的 ProgUID 列中选择子字符串 就像是 SUBSTRING table ProgUID 3 12 这将为我提供 ProgUID P CAMVE
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • MySQL 存储过程将值分配给 select 语句中的多个变量

    这是我的存储过程 我在为声明的变量赋值时遇到问题 当我执行它时 插入和更新命令工作正常 但声明变量的值保持为 0 但我在数据库中有一些价值 我怎样才能正确地做到这一点 BEGIN DECLARE PaidFee INT DEFAULT 0
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB

随机推荐

  • 如何在 mongodb 中使用构面操作查找字段的不同值

    FilteredAccording 部分和categorizedBy 使用我在链接中提供的查询按预期工作 但我在 findDistinct 部分遇到问题 在 mongodb 中我有以下数据 id 10001 university SPYU
  • Jmeter JSR223 Sampler - 无法将数据写入 CSV 文件

    我正在使用 Jmeter v4 0 r1823414 根据这个答案 https stackoverflow com questions 50820389 unable to set incremental variable in jmete
  • 远程连接到 WebDev.WebServer.exe

    开发 ASP Net 网站 运行IE8 需要在IE6下测试网站 MultipleIE6 安装被 IE8 安装破坏 无法在文本框中输入 是的 我删除了缓存 是的 我重新注册了 dll 创建运行 IE6 的 VPC 无法连接到主机 WebDev
  • 如何防止结构体的默认构造函数被调用?

    有什么方法可以阻止调用结构体的默认构造函数吗 我的项目中有几个结构 其中一些结构在任何情况下都不能调用默认构造函数 这将导致我的代码中出现很多不需要的行为 PS 任何在编码时指示我某些特殊结构 无法使用默认构造函数实例化 被 错误 实例化的
  • finplot 作为布局中的小部件

    我正在尝试添加finplot https pypi org project finplot https pypi org project finplot 作为我的 UI 中布局之一的小部件 我创建了一个小部件finplot并将其添加到布局中
  • 访问 Jinja2 中的宏观上下文

    我想访问上下文函数内 jinja2 宏命名空间中的变量 假设我的宏看起来像 macro show var a show var context function a endmacro 我的上下文函数如下所示 contextfunction
  • 在 Yii2 中隐藏 URL 中的网页

    我已遵循中描述的答案这个问题 https stackoverflow com questions 27178364 yii 2 0 hiding basic web from the url along with the index php
  • C++ OutputIterator 后递增要求

    C 要求 OutputIterator 类型X支持形式的表达式r where r是一个实例X 此后缀增量在语义上必须等同于 X tmp r r return tmp 并且必须返回一个可转换为的类型X const 在 C 11 中 请参阅 2
  • 在 Visual Studio 中从包管理器控制台使用 git

    我正在尝试使用git从 Visual Studio 2010 中的包管理器控制台窗口 git命令按预期运行 与网络相关的命令除外 当我尝试时git push origin masterStudio 停止响应 代码已推送到 github co
  • Include() 然后包含() 在每个层次结构表策略中抛出“序列包含多个匹配元素”异常

    我正在使用 Entity Framework 7 和代码优先 并且我有一个涉及 3 个级别的父子关系的模型 Corporations have companies Companies属于一个corporation并有factories Fa
  • Q列出并删除

    我有一个QList带有指向类类型对象的指针Model 我想适当删除这个QList使用后 我知道 Qt 的哲学是避免 C 风格的内存管理 我如何delete this QList 你可以使用q删除全部 http qt project org
  • WPF ShowDialog 和 ElementHost

    是否可以从作为 ElementHost 子级的 WPF 用户控件显示模态窗口 并将模态窗口的所有者 父级设置为包含的 Form 控件 我猜您不能执行此操作 因为 Owner 属性采用 Window 的实例 而我想将其设置为 Element
  • 使用 UINavigatonController 有条件地跳过 iOS 5 应用程序中的 UIViewController

    在我们的 iOS 应用程序中 有三个UIViewController一个接着一个 我们想根据某些条件跳过中间的 直接从第一到第三 但是 用户应该能够通过第三个控制器上的 后退 按钮返回到第二个控制器 I tried self perform
  • 获取树枝模板文件中使用的所有变量[重复]

    这个问题在这里已经有答案了 是否可以获取树枝模板中使用的所有变量 例如 在模板上 ul for item in navigation li a href item caption a li endfor ul h1 My Webpage h
  • 从 Firefox 扩展设置 HTTP 标头

    如何在 Firefox 扩展中设置 HTTP 标头 我将做到这一点 以便这些仅在访问我的网站时发送 以便我可以检测插件是否已安装 如果安装了 则不会推广该插件 这是我发现的最紧凑的方法 Components classes mozilla
  • 我应该使用哪个移动开发开源框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的公司想开发一个移动应用程序 Web 应用程序 本机应用程序还是混合应用程序 他们其实不知道 在这种情况下 他们要求我对移动开发的开源框架 跨
  • 如何重置参数值以便代理可以再次请求参数?

    我创建了一个对话流代理和其中的多个意图 其中一种意图需要 2 个参数 账户和余额类型 然后 它发送 Webhook 请求 其中写入代码以检查数据库中是否存在帐号 如果是的话 它会获取余额并发回给用户 现在 如果帐号不存在 我必须要求用户再次
  • 使用 json4s 序列化和反序列化 scala 枚举或 case 对象

    假设我有一个枚举或密封的案例对象组 如下所示 sealed abstract class Status case object Complete extends Status case object Failed extends Statu
  • Oracle ORDER BY 中忽略与号 (&) 字符

    我正在 Oracle 中运行一个查询 该查询按可能包含带有 号的值的列排序 然而 排序算法似乎忽略了 符号 例如 select from select txt from dual union select P txt from dual u
  • 基于查询的触发器是原子的吗?

    我有一个带有序列号的表 此序列号将会更改 并且引用自动编号将不起作用 我担心触发器的值会发生冲突 如果两个事务同时读取 我已经对 3 个连接运行了模拟测试 每个连接约 100 万条记录 没有发生冲突 CREATE TABLE aut au