首页
学习
活动
专区
工具
TVP
发布

select for update和select for update wait和select for update nowait的区别

他们三个共同点: 当使用select for update 或者select for update wait或者........,那么oralce会给符合where条件的数据行加上一个行级锁 1、select for update 但是如果你的select 语句加了for update,那么就不是上面这回事了,当oracle发现...会话二的update语句执行成功 2、select for update nowait for  update和for update nowait都会对查询到的当前结果集进行加锁,所不同的是,当有另外的会话在修改当前结果集中的数据...窗口2(相当于新建一个会话)select for update nowait操作 select * from test8 for update nowait ?...3、select for update wait 它也会对查询到的结果集进行加锁,select for update wait与select for update nowait不同的地方是,当有另外的会话对它的查询结果集中的某一行数据进行了加锁

2.3K100
您找到你想要的搜索结果了吗?
是的
没有找到

ON DUPLICATE KEY UPDATE

问题引出 案例:某个餐桌(id)花了多少钱(num) 如果4号餐桌点了一份西红柿4元,我们可以插入;如果3号餐桌点了一份西红柿4元,我们可以修改 你选择insert或者update的原因是你知道他原来有没有数据...一般我们的逻辑为 先查询,如果没有,插入;反之修改 if not exists (select ) insert else update 最简单直观的问题;发送两条SQL语句吧...,性能问题 解决方法 有则改之无则加勉,数据库中同样也有相似的问题,有就修改,没有就插入 ON DUPLICATE KEY UPDATE 就是解决,如果有数据就修改,如果没有数据就插入的问题 第一次执行...(数据库中没有id 为4的数据) INSERT INTO hello (id,num) VALUES (4,4) ON DUPLICATE KEY UPDATE id = 4 ,num = 4+num;...Query OK, 1 row affected 第二次执行(数据库中有id为4的数据) INSERT INTO hello (id,num) VALUES (4,4) ON DUPLICATE KEY UPDATE

8810

SQL命令 UPDATE(一)

SQL命令 UPDATE(一) 为指定表中的指定列设置新值。...更常见的是,UPDATE根据条件表达式指定对特定的行(或行)进行更新。 默认情况下,UPDATE操作遍历表中的所有行,并更新满足条件表达式的所有行。...INSERT OR UPDATE INSERT OR UPDATE语句是INSERT语句的变体,执行插入和更新操作。 首先,它尝试执行一个插入操作。...SQLCODE错误 默认情况下,多行UPDATE是一个原子操作。 如果不能更新一行或多行,则UPDATE操作失败,不会更新任何行。...试图编译引用只读表的UPDATE会导致SQLCODE -115错误。 注意,此错误是在编译时发出的,而不是在执行时发生的。 请参阅定义和使用类的其他持久化类选项章节中READONLY对象的描述。

2.7K20

SQL命令 INSERT OR UPDATE

描述 INSERT或UPDATE语句是INSERT语句的扩展(它与INSERT语句非常相似): 如果指定的记录不存在,则INSERT或UPDATE执行INSERT。...INSERT或UPDATE通过将唯一关键字字段值与现有数据值匹配来确定记录是否存在。如果发生违反唯一键约束的情况,则INSERT或UPDATE将执行UPDATE操作。...当对切片表运行INSERT或UPDATE时,如果切片键与UNIQUE KEY约束相同(或是其子集),则INSERT或UPDATE将执行UPDATE操作。...INSERT或UPDATE语句与SELECT语句组合可以插入和/或更新多个表行。 INSERT或UPDATE使用相同的语法,并且通常具有与INSERT语句相同的功能和限制。...如果表具有IDKEY索引和另一个唯一键约束,则INSERT或UPDATE将匹配这些字段以确定是执行INSERT还是UPDATE

2.5K40

MySQL insert or update sql

MySQL 一条 sql 实现数据保存变更 insert or update ,如果没有执行insert,有就update 需要 有主键 PRIMARY 或 唯一索引 UNIQUE MySQL...中的INSERT … ON DUPLICATE KEY UPDATE语句,该语句是基于唯一索引或主键使用 ON DUPLICATE KEY UPDATE后面可以放多个字段,用英文逗号分割。...使用ON DUPLICATE KEY UPDATE,最终如果插入了一个新行,则受影响的行数是1,如果修改了已存在的一行数据,则受影响的行数是2,如果值不变,则受影响行数是0。...'wx8c6e61e00505878e','ozt9K0ykJJnLp-oASEl7ly_BKj7w','奈何',1,1,5,4,60,NOW(),300 ) ON DUPLICATE KEY UPDATE...INSERT… ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe 翻译:使用BINLOG_FORMAT

2.6K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券