一.某次在给某表添加了触发器后,居然直接报错了,对数据库的插入操作居然无法完成了。
1.0 交代下背景,在对表进行插入的同时,又对表字段进行更新。其实很少会出现这样的业务需求,插入自己又更新自己,但有时候做业务就是这么奇怪,会有这样的情况存在,这也导致了下边的问题。
在插入表的时候就报了如下错误 "触发器或函数不能读它".
一开始看到这个报错有点慌,表都插不进去了,仔细检查一下,就加了个触发器,就报错了,可以断定是触发器引起的 。
2. 那究竟是什么原因导致了这个问题呢?
主要是插入同一张表,跟更新同一张表,不能同时在一个事务进行,知道了这个原因后,我们就可以去解决了。
3. 解决方案:主要是要将插入跟更新这两个事务区别开来,因为在同一个事务内,所以要声明分开事件提交,确保两个操作不在同一个事务之内。
就没办法在插入的同时,又更新同一条记录,要分个先后顺序。
以下是代码,大家有空可以试一下,应该就可以同时进行两个动作。
create table testtable
(
aa varchar(100)
)
insert into testtable(aa) values('123');
以上是自己的做为资深开发的一些个人经历,把这些经验分享给大家,希望以后大家在从事开发中,可以避免不必要的麻烦,跟浪费时间精力。
要是大家喜欢我的文章的话,可以在文章下留言或是联系我,共同进步,共同探讨开发的一些案例,促进彼此间的交流,分享一些日常的开发趣事。
以上是自己的做为资深开发的一些个人经历,把这些经验分享给大家,希望以后大家在从事开发中,可以避免不必要的麻烦,跟浪费时间精力。
要是大家喜欢我的文章的话,可以在文章下留言或是联系我,共同进步,共同探讨开发的一些案例,促进彼此间的交流,分享一些日常的开发趣事。
共有 0 条评论