当前位置: 首页 > news >正文

数据库加锁操作

因为在实际项目中,会有大量的用户链接数据库并请求各种操作,此时我们就需要对各个请求创建线程进行处理,这时候问题就来了,当大家的请求都涉及到写数据库时候,怎么办?这个时候就要用到数据库的加锁了。具体数据库的加锁知识大家可以百度之,不过这里不需要太多高深的加锁知识,只需要一点就是写锁

写锁是神马捏?具体来说就是一种排他锁,当写的时候不允许其他程序写,这样就可以保证数据一致性了。OK了,这就够了,在程序中怎样对数据库进行加锁呢?

数据库的加锁是在我们写数据库的时候进行的,当然现在很多数据库都自己带了枷锁机制,但是当我们具有大量并发的时候还是自己写着比较好

C#对MySQL进行操作上一篇已经说了,这里直接进行说明怎样进行加锁

代码如下:

string lockDB = "LOCK TABLE t_userinfo WRITE";
               MySQLCommand sqlcmd = new MySQLCommand(lockDB, conn);
               sqlcmd.ExecuteReaderEx();
 
               string cmd = "update t_userinfo set F_State = 0 where F_Name= '" + name + "'";
               sqlcmd = new MySQLCommand(cmd, conn);
               sqlcmd.ExecuteReaderEx();
 
               string UnlockDB = "UNLOCK TABLES";
               sqlcmd = new MySQLCommand(UnlockDB, conn);
               sqlcmd.ExecuteReaderEx();

注意的是,当加锁完成后一定要解锁啊

转载于:https://www.cnblogs.com/xoyoho/p/4359514.html

相关文章:

  • Scala.js:将Scala编译为JavaScript的编译器
  • 如果你写PHP, 请多注意自己是否有良好的习惯
  • django数据模型字段和通用参数说明
  • 微软职位内部推荐-Software Development Engineer 2
  • Java JNI介绍
  • linux ubuntu ElasticSearch 安装 基本使用
  • iTunesU无法上传,决定放弃
  • Netty线程模型详解
  • 联想昭阳e43l笔记本配置
  • jquery 绘图工具 flot 学习笔记
  • 正则表达式之egrep实战示例
  • Java多线程编程(5)-volatile和synchronized比较
  • 如何将数据库账号(用户)解锁
  • 初窥Linux 之 最常用20条命令
  • 从百小度看人工智能
  • 「面试题」如何实现一个圣杯布局?
  • 【翻译】babel对TC39装饰器草案的实现
  • Docker: 容器互访的三种方式
  • exports和module.exports
  • github指令
  • JavaScript HTML DOM
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • php的插入排序,通过双层for循环
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Rancher如何对接Ceph-RBD块存储
  • 分布式任务队列Celery
  • 思否第一天
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 温故知新之javascript面向对象
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • (1)(1.13) SiK无线电高级配置(六)
  • (6)STL算法之转换
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (七)Knockout 创建自定义绑定
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • @Bean有哪些属性
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @property python知乎_Python3基础之:property
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [C语言]——内存函数
  • [hive] sql中distinct的用法和注意事项
  • [javaee基础] 常见的javaweb笔试选择题含答案
  • [JS真好玩] 掘金创作者必备: 监控每天是谁取关了你?
  • [LeetCode]-使用特殊算法的题目-2
  • [linux] Key is stored in legacy trusted.gpg keyring
  • [Linux](15)线程基础,线程控制,线程的互斥与同步
  • [luogu P1527]矩阵乘法(矩形k小)
  • [NOI2022] 众数 题解
  • [OpenWrt]RAX3000一根线实现上网和看IPTV
  • [Poj 1015] Jury Compromise 解题报告 (完全背包)