2635 · 乐观锁与悲观锁的使用(一)

举报
搞前端的半夏 发表于 2022/01/24 23:37:47 2022/01/24
【摘要】 描述数据库在并发情况下,常使用乐观锁与悲观锁。现要求使用乐观锁对表进行数据的保护。我们当前数据库采用 version 的方式来实现,现要求编写 SQL 语句,更新 teachers 表中名为 Western Venom 的教师信息,修改国籍为 CN。当前版本号 version = 5表定义: teachers (教师表)列名 类型 注释id int 主键name varchar 讲师姓名em...

描述

数据库在并发情况下,常使用乐观锁与悲观锁。现要求使用乐观锁对表进行数据的保护。我们当前数据库采用 version 的方式来实现,现要求编写 SQL 语句,更新 teachers 表中名为 Western Venom 的教师信息,修改国籍为 CN。

当前版本号 version = 5

表定义: teachers (教师表)
列名 类型 注释
id int 主键
name varchar 讲师姓名
email varchar 讲师邮箱
age int 讲师年龄
country varchar 讲师国籍
version int 版本号

微信加 jiuzhang15 发送验证信息【2635】领最新大厂高频题
样例

表内容 : teachers
id name email age country version
1 ‘Eastern heretic’ ‘eastern.heretic@gmail.com’ 20 ‘UK’ 3
2 ‘Northern Beggar’ ‘northern.beggar@qq.com’ 21 ‘CN’ 2
3 ‘Western Venom’ ‘western.venom@163.com’ 28 ‘USA’ 5
4 ‘Southern Emperor’ ‘southern.emperor@qq.com’ 21 ‘JP’ 6

返回结果:
id name email age country version
3 ‘Western Venom’ ‘western.venom@163.com’ 28 ‘CN’ 6

数据库在并发情况下,常使用乐观锁与悲观锁。现要求使用乐观锁对表进行数据的保护。我们当前数据库采用 version 的方式来实现,现要求编写 SQL 语句,更新 teachers 表中名为 Western Venom 的教师信息,修改国籍为 CN。

分析题目要求:

条件一:使用乐观锁对表进行数据的保护
条件二:采用 version 的方式来实现
条件三:更新 teachers 表中名为 Western Venom 的教师信息,修改国籍为 CN
根据题目要求推出:

UPDATE teachers
SET country = ‘CN’, version = version + 1
WHERE
name = ‘Western Venom’
and ve

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。