天津企业网站建站,营销推广模式,家装设计效果图网站,厦门建设局公维金网站mysql默认自动提交#xff0c;开启一个事务的时候也就是
set autocommit 0#xff1b;
关闭了自动提交#xff0c;
我们有时候会在执行一个操作的时候#xff0c;显式的进行锁表操作
比如显式的 写锁表#xff1a;
lock table aaa write #xff1b;
这个时候 需要…mysql默认自动提交开启一个事务的时候也就是
set autocommit 0
关闭了自动提交
我们有时候会在执行一个操作的时候显式的进行锁表操作
比如显式的 写锁表
lock table aaa write
这个时候 需要进行一个inset操作了如果当前线执行了一个 select 或者其他的行为好了你就等着吧
所以给了一个写锁你就要执行 写的操作
比如
insert aaa aavaluestset;
如果你没有unlock的时候这个表一直处于所得状态其他线程的任何操作是也是一直处于等待的状态但是此时你在锁表的这个线程 insert以后并没有执行 unlock 而是开启了一个事务那么也是造成了一个隐式的unlock table aaa一个效果 此外注意 事务对一些操作是不能回滚的比如DDL操作而且有一部分DDL操作是隐式提交的 当你看到了这篇博客希望您能使用适合事务的场景中去使用它而不是为了练习事务或者处于别的原因而不是项目的某个场景很适合事务而去使用它 另外在PDO当中 为了以防万一使用事务的时候一定要用try catch包裹起来我们并不能保证程序一定会按照我们想要的去执行墨菲定律的情况下没有什么事情是绝对的
同事给我说异常也能终止不执行commit 是的说的没错因为PDO帮你处理了在进程异常的时候PDO会自动帮你rollback回去了 换成别数据库操作对象类呢 一点也不想想 现在就一个心态虽然我做了五六年开发不如一个刚入行的大牛 一堆的牢骚天天看到屎山代码就烦得不得了高度耦合不明白类的作用你能不能保证一个类只干一个事情啊动不动就有问题我也是无语了2023年我说过重复性最多的一句话你测了吗为啥说这句话不明白吗 心态快给我整没了
今天更扯有个问题他在他机器上测试没事然后我拉到我本地有问题然后他说他的没问题就不管我了我找了一大圈在本次后端代码更新中发现每个ORM 连接信息都被定义到他远程的数据库上可能是我太笨了吧 跟他说了一下他才想起来吧唉。
写这个博客没别的意思就是发泄一下心中的不满时刻告诉我自己我现在在做一个前端的工作后端怎么写关我屁事我只要我的数据其他的一概不管
睡觉