Cascade

删除带外键的表【foreign key constraint fails】报错

被刻印的时光 ゝ 提交于 2020-11-16 02:46:16
遥想当时正在学hibernate的时候,刚好学到了一对多,多对多的关联操作。时间也正是刚好在那是有了一个项目,把各表的间的结构还理清,俗话说学到就要用到,就把这些表的结构都能配置级联关系的都把它配上。没想到就在这里给自己放了个小坑。前几天在一个帖子中看到别人说,尽量少配些ORM约束,数据库的外键约束什么的。当时还不以为然。没想到我就遇到了这个问题,或许对数据库操还是不是很熟悉的人约束真的不要配太多。不过有自然有其的好处就是。 <!--more--> 今天在删除一张表的数据的时候报了如下错误: 09:55:49.144 [http-nio-8080-exec-6] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Cannot delete or update a parent row: a foreign key constraint fails (`checkin`.`right_umenu`, CONSTRAINT `FKnmg8itd642tdyn6qh1q42h60r` FOREIGN KEY (`menu_detailPid`) REFERENCES `menu_detail` (`id`)) 09:55:49.151 [http-nio-8080-exec-6] ERROR org.hibernate

外键的约束(Mysql、PostgreSQL)

梦想与她 提交于 2020-11-15 13:01:23
关于外键是什么,具体不再详述,可以自行百度。 讲一下关于外键的 On Delete和On Update的使用 最近在项目的表中看到这些,不懂顺便查了查: ONSTRAINT "c_clusters_pkey" PRIMARY KEY ("cluster_id"), CONSTRAINT "c_clusters_zabbix_group_id_fkey" FOREIGN KEY ("zabbix_group_id") REFERENCES "public"."groups" ("groupid") ON DELETE NO ACTION ON UPDATE NO ACTION ALTER TABLE "public"."c_clusters" OWNER TO "postgres"; CREATE UNIQUE INDEX "clusters_cluster_id_key" ON "public"."c_clusters" USING btree (cluster_id);   其中关于 ON DELETE NO ACTION ON UPDATE NO ACTION On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。 ON DELETE restrict(约束):当在父表

mySQL数据库的基本操作"方言"02

拜拜、爱过 提交于 2020-11-15 07:00:52
1. DQL:查询语句 1. 排序查询 2. 聚合函数 3. 分组查询 4. 分页查询 2. 约束 3. 多表之间的关系 4. 范式 5. 数据库的备份和还原 # DQL:查询语句 1. 排序查询 * 语法:order by 子句 * order by 排序字段1 排序方式1 , 排序字段2 排序方式2... * 排序方式: * ASC:升序,默认的。 * DESC:降序。 * 注意: * 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。 2. 聚合函数:将一列数据作为一个整体,进行纵向的计算。 1. count:计算个数 1. 一般选择非空的列:主键 2. count(*) 2. max:计算最大值 3. min:计算最小值 4. sum:计算和 5. avg:计算平均值 * 注意:聚合函数的计算,排除null值。 解决方案: 1. 选择不包含非空的列进行计算 2. IFNULL函数 3. 分组查询: 1. 语法:group by 分组字段; 2. 注意: 1. 分组之后查询的字段:分组字段、聚合函数 2. where 和 having 的区别? 1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来 2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。 --

Asp.net core 学习笔记 ef core Surrogate Key, Natural Key, Alternate Keys

与世无争的帅哥 提交于 2020-11-13 12:38:14
更新 : 2020-01-05 今天记入一下 alternate key 遇到的主次疑惑 alternate 会产生多个 foreignkey 的情况 比如我想选一个 state 那么前提是我要先选 country, 这样就需要有 2 个 foreignkey 所谓的主次疑惑是说在上面这个情况下我是要一个 state 所以当这个 state 换 country 后, 我也是要跟着它走的. 整个都是 cascade update. 另一种情况可能是我先选了一个 country, 然后我想再选一个 state, 这种情况下, country 是确定的. state 是依赖 country 的, 这时候如果 state 突然换了 country, 那么我其实是不想跟着换的,反而要阻止它,因为逻辑错了。 更新: 2019-12-23 在 ef 如果要拿不是 Id 来做 foreignkey 那么它就肯定是 alternative key 了, 当我们调用 HasPrincipalKey 这个时候 alternative key 就自动被做出来了。 在 sql 的话,其实并没有这么一个条件. 更新: 2019-11-01 虽然 Natural Key 很自然,但是维护起来成本很挺高 ef core 给了我们 Alternate Keys + composition

【译】深度双向Transformer预训练【BERT第一作者分享】

徘徊边缘 提交于 2020-11-10 01:51:49
翻译自Jacob Devlin分享的slides [TOC] NLP中的预训练 词嵌入是利用深度学习解决自然语言处理问题的基础。<div align=center><img src="https://img2018.cnblogs.com/blog/1135245/201902/1135245-20190213113114332-1584404544.png" /></div> 词嵌入(例如word2vec,GloVe)通常是在一个较大的语料库上利用词共现统计预训练得到的。例如下面两个句子中,由于 king 和 queen 附近的上下文时常相同或相似,那么在向量空间中,这两个词的距离较为接近。<div align=center><img src="https://img2018.cnblogs.com/blog/1135245/201902/1135245-20190213113201532-413625814.png" /></div> 语境表示 问题:通常的词嵌入算法无法表现一个词在不同语境(上下文)中不同的语义。例如 bank 一词在下列两个句子中有着不同的语义,但是却只能使用相同的向量来表示。<div align=center><img src="https://img2018.cnblogs.com/blog/1135245/201902/1135245

Django--models字段参数 limit_choices_to

空扰寡人 提交于 2020-11-01 10:07:12
在models中,字段参数limit_choices_to的用法 在使用ModelForm渲染前端页面的时候,当model字段为ForeignKey的时候,会被渲染成select单选框, model字段为ManyToMany的时候会被渲染成多选select款。 当你在model中FK字段或者M2M字段中加上 limit_choices_to选项的时候,前端页面的渲染会根据你的限制条件来展示,这样就达到来限制用户选择的目的 class ClassList(models.Model): """ 班级表 """ school = models.ForeignKey(verbose_name= ' 校区 ' , to= ' School ' , on_delete= models.CASCADE) course = models.ForeignKey(verbose_name= ' 课程名称 ' , to= ' Course ' , on_delete= models.CASCADE) semester = models.PositiveIntegerField(verbose_name= ' 班级(期) ' ) price = models.PositiveIntegerField(verbose_name= ' 学费 ' ) start_date = models.DateField

ECCV 2020 GigaVision挑战赛“行人和车辆检测”和“多目标追踪”冠军方案解读

落花浮王杯 提交于 2020-10-31 08:36:05
点击上方“ 迈微AI研习社 ”,选择“ 星标★ ”公众号 重磅干货,第一时间送达 来源丨 DeepBlue深兰科技 编辑丨迈微AI研习社 迈微导读 本文介绍了首届GigaVision挑战赛“行人和车辆检测”和“多目标追踪”两个赛道的难点以及冠军方案的工作细节。 日前, 全球计算机视觉顶会ECCV 2020 落下帷幕,各项挑战赛的结果也尘埃落定。深兰科技DeepBlueAI 团队包揽了 首届GigaVision挑战赛“行人和车辆检测”和“多目标追踪”两个赛道的冠军 。 过去十年中,行人检测、跟踪、动作识别、异常检测、属性识别等以人为中心的计算机视觉分析任务引起了人们的极大关注,为了促进新的算法来理解大规模现实世界场景中复杂的人群活动及社交行为,可把图像放大千倍的十亿级别像素目标检测,将在例如人脸识别、无人驾驶、监控安防和智能手机等多个领域被广泛应用。 计算机视觉作为深兰科技的核心技术之一,其实力已在多个国际顶会竞赛中得以验证,并已应用于不同领域的产品中,包括疫情期间发挥了极大作用的深兰AI热感视觉行为监控系统-猫头鹰,在广州、深圳、武汉、上海、长沙等多地获得自动驾驶路测牌照的熊猫智能公交车,以及各类机器人和智能零售产品等。 GigaVision赛题介绍 以人为中心的各项计算机视觉分析任务,例如行人检测,跟踪,动作识别,异常检测,属性识别等,在过去的十年中引起了人们的极大兴趣。

新入职迁移orcale数据库到本地

冷暖自知 提交于 2020-10-31 02:03:17
一般公司新入职是需要拷贝公司数据库的表到本地,防止那些删库跑路的狠人动了数据库后跑路(当然实际情况是公司有专门的的数据库管理员,即DBA,如果你只是个开发人员,公司不会给你动库的权限的,所以你也不用担心删库跑路,那些都是DBA干的事情). 开发时我们都是需要把数据库拷贝到本地使用的,我今天要记录的就是我刚入职时,备份数据到本地的一些操作,希望能对你有一些帮助...(*❦ω❦) . 1. 首先在本地创建表空间和用户 创建表空间,指定表空间的位置,表空间的大小,并设置自动增长及自动增长值 create tablespace test datafile 'e:\test .dbf' size 100m autoextend on next 10m; 新建用户并指定表空间 create user test identified by test default tablespace test; 如果你的数据库已经创建过表空间,那么直接执行新建用户即可,并且创建时也无需指定表空间 create user test identified by test; 新建用户时一定要使用带有DBA权限的用户登录数据库进行创建,一般使用system用户 2. 给新建的用户授权(一般授予连接和开发者权限) 语法:grant 权限名称 to 用户名称 grant connect,resource to test;

阿里云服务器Intel Xeon Platinum 8163(Skylake)CPU处理器性能评测

断了今生、忘了曾经 提交于 2020-10-22 19:07:13
阿里云ECS云服务器Intel Xeon(Skylake) Platinum 8163 处理器,2.5GHz的主频,计算性能稳定,码笔记分享Intel Xeon Platinum 8163(Skylake)CPU处理器性能评测及搭载ECS云服务器实例规格表: Intel Xeon Platinum 8163(Skylake) Intel Xeon(Skylake) Platinum 8163 CPU处理器,Skylake架构,2.5GHz主频,系阿里云第四代服务器采用的CPU处理器,计算性能稳定。目前搭载这款CPU处理的ECS云服务器实例规格有很多,码笔记分享详细ECS实例规格: 搭载Intel Xeon(Skylake) Platinum 8163处理器ECS实例规格 阿里云ECS云服务器搭载 Intel Xeon(Skylake) Platinum 8163 CPU处理器的ECS实例规格如下: 通用型实例规格族g5 存储增强型实例规格族g5se 网络增强型实例规格族g5ne 密集计算型实例规格族ic5 计算型实例规格族c5 内存型实例规格族r5 大数据存储密集型实例规格族d2s 本地SSD型实例规格族i2 本地SSD型实例规格族i2g 本地SSD型实例规格族i2ne 本地SSD型实例规格族i2gne 通用网络增强型实例规格族sn2ne 计算网络增强型实例规格族sn1ne

PostgreSQL — 外键关联操作

流过昼夜 提交于 2020-10-19 09:57:38
目录 文章目录 目录 PostgreSQL 的外键关联 创建表时定义外键(References,参照) 修改原有表的外键约束 删除外键约束 参考文档 PostgreSQL 的外键关联 一个外键约束指定一列(或一组列)中的值必须匹配出现在另一个表中某些行的值。我们说这维持了两个关联表之间的引用完整性。注意,一个从表外键所引用的主表 Column 必须是一个主键或者是被唯一约束所限制的。这意味着主表被引用的列总是拥有一个索引(位于主键或唯一约束之下的索引),因此在其上进行的一个引用行是否匹配的检查将会很高效。 创建表时定义外键(References,参照) # 主表 CREATE TABLE products ( product_no integer PRIMARY KEY , name text , price numeric ) ; # 从表 CREATE TABLE orders ( order_id integer PRIMARY KEY , product_no integer REFERENCES products ( product_no ) , quantity integer ) ; # 从表简写,因为缺少声明主表的列名,所以将主表的主键作为引用。 CREATE TABLE orders ( order_id integer PRIMARY KEY , product