postgreSQL的外键级联删除
背景描述:
最近在做一个新的项目,其中的order模块,有一个order_records表和order_logs表,order_records表中的id是order_logs表的外键。
我们有一个功能是删除order_records表中的数据,并删除关联的order_logs表中的数据。
问题描述:
然而我们再测试环境测得是正常的,在生产上就不行啦。
问题分析:
代码都是一样的,为啥生产就是不行呢。
查找日志发现如下报错
Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "ship_order_records" violates foreign key constraint "fkan0vr5n6v19406g89a5novrp7" on table "ship_order_logs"Detail: Key (id)=(81eae229-8271-4080-b471-d64ea3bda4a5) is still referenced from table "ship_order_logs".
我们的数据库用的是postgreSQL。
恍然大悟,一定是删除record表数据,但是logs表有record表外键的原因。于是去数据库确认,发现,果然测试环境的数据库中配了级联删除,而生产的数据库没有配置。
只需要将外键的 On Delete 改成 CASCADE就OK啦。
postgreSQL的外键级联删除相关推荐
- oracle中删除级联方法,Oracle 外键级联删除
Oracle 外键级联删除 日期:2010年5月22日 作者: 近来软件系统中要删除一条记载,就要关联到同时删除好多张表,它们之间还存在着约束联络.所以思索到在树立表时加上约束联络,细致内容如下: S ...
- mysql级联删除外键约束_mysql增加外键级联删除示例
增加外键级联删除: ALTER TABLE `extends` ADD CONSTRAINT `extends_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES ` ...
- oracle+cascade=gt;true,mysql数据库主外键级联删除脚本RESTRICT -- CASCADE
在项目中,我们一般在数据库设计的时候做主外键关联设计,要么就不做.但是这样不符合规范,呵呵. 建立主外键关系的时候,默认是不能级联删除的.而出现往往在删除主表的数据时报错, 需要先删除从表然后再删除主 ...
- oracle 外键 更新,Oracle外键级联删除与更新
2012年Oracle:Oracle外键级联删除与更新 比来软件系统中要删除一标识表记标帜录,就要联系关系到同时删除良多若干好多张表,它们之间还存在着约束关系.所以考虑到在建树表时加上约束关系,具体内 ...
- mysql级联删除外键约束_mysql通过外键级联删除
mysql 可通过外键约束,实现数据的级联更新或者删除. 例如有主表(员工排班表): CREATE TABLE `personal_schedule` ( `id` int(11) NOT NULL ...
- oracle 通过数据库主键外键级联删除
通过PLSQLDEV设置 1,创建一个有主键的表 2,创建一个丛表,通过PL/SQDEV设置带有级联删除的外键 编辑外键表-->键-->填写键名称-->选择Foreign--> ...
- EFCore的外键级联删除导致的【可能会导致循环或多重级联路径】
之前也是经常遇到这个问题,但好在每次创建的实体不多,很容易就能找到是哪个外键导致级联循环删除问题 之前都是这么处理,因为创建的实体也不多,所以还处理得来 但最近跟别人合作写后端,别人写了好多实体,我一 ...
- oracle数据库建立外键级联删除
在给已存在的oracle数据表建立外键时命令为: alter table tablename add constraint FK_NAME foreign key(tablefile) referen ...
- mysql怎么写外键支持级联删除_MySQL外键级联删除不起作用,完全难倒
我已经阅读了很多其他线程,但我仍然感到难过.我创建了两个非常简单的表作为完整性检查,并且无法让它们执行级联删除,因此需要一些帮助. CREATE TABLE `test1` ( `test1_ID` ...
最新文章
- C++开源代码项目汇总
- Shell - 挂载硬盘
- 08 - JavaSE之IO流
- C++确定对象被使用前已先被初始化
- 自动装配有哪些局限性?
- vue学习笔记-02-前端的发展历史浅谈mmvm设计理念
- 初学react实现路由跳转_如何使用React构建模因制作者:初学者指南
- 2019吉林大学计算机学硕考研,计算机科学与技术学院2019年硕士研究生复试基本要求...
- mysql使用结巴语句_MySQL 结巴中文分词插件 SqlJieba
- 练T25- focus必看!所有成功截图汇总
- 万豪酒店品牌持续拓展中国东南区,温州首家万豪酒店开业
- 如何在一夜之间获得成功:我「从无到有」的 5 年 [英文版]
- 简单的记账方法有哪些?
- python随机生成英文字符串_如何用Python语言生成随机字符串 | 学步园
- HDU 1984 ZOJ 2987 Misspelling(模拟)
- SSH登陆,用XShell
- navicat连接数据库,闲置一段时间后,再次操作,反应非常缓慢
- 解决800A0046没有权限问题
- cs1.6服务器修改游戏类型,《cs1.6》3266版本服务器
- (分享)2017云栖大会知识图谱专场
热门文章
- 力扣 347. 前 K 个高频元素
- linux服务器查看硬盘大小,Linux 服务器硬盘使用情况查看
- 【Python基础】字典dict和集合set
- Matlab+Robotic toolbox (各版本免费获取,及安装步骤)
- 洛谷B2144 阿克曼(Ackmann)函数
- View 点击事件的分发机制
- C300--HGU ONU 配置思路指导_方式1
- 重启计算机连线的标志是,win10右下角总出现一个小地球图标怎么办_win10电脑网络连接图标变成地球如何解决...
- MOOC TensorFlow入门实操课程代码回顾总结(三)
- Python 求10000以内的完全数