Cascade

MySQL cascade update failed when foreign key column referenced in composite primary key

耗尽温柔 提交于 2021-01-28 11:44:44
问题 Unlike the similar other questions, I get error #1452 when updating the parent row. Why does it happen? Thank you in advance. Here are the relevant tables: CREATE TABLE IF NOT EXISTS `user` ( `username` VARCHAR(100) NOT NULL, `password` VARCHAR(200) NOT NULL, `name` VARCHAR(100), `surname` VARCHAR(100), `icon` BLOB, PRIMARY KEY (username) ); CREATE TABLE IF NOT EXISTS `document` ( `owner` VARCHAR(100) NOT NULL, `name` VARCHAR(100) NOT NULL, `sharing_link` VARCHAR(200) UNIQUE NOT NULL, PRIMARY

MySQL cascade update failed when foreign key column referenced in composite primary key

依然范特西╮ 提交于 2021-01-28 11:34:26
问题 Unlike the similar other questions, I get error #1452 when updating the parent row. Why does it happen? Thank you in advance. Here are the relevant tables: CREATE TABLE IF NOT EXISTS `user` ( `username` VARCHAR(100) NOT NULL, `password` VARCHAR(200) NOT NULL, `name` VARCHAR(100), `surname` VARCHAR(100), `icon` BLOB, PRIMARY KEY (username) ); CREATE TABLE IF NOT EXISTS `document` ( `owner` VARCHAR(100) NOT NULL, `name` VARCHAR(100) NOT NULL, `sharing_link` VARCHAR(200) UNIQUE NOT NULL, PRIMARY

Django 之 ORM 字段和字段参数

左心房为你撑大大i 提交于 2021-01-13 09:50:47
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。 ORM的劣势 ORM的缺点是会在一定程度上牺牲程序的执行效率。 ORM用多了SQL语句就不会写了,关系数据库相关技能退化... ORM基本表结构 from django.db import models class userinfo(models.Model): name = models.CharField(max_length=30 ) email = models.EmailField() memo = models.TextField() Django中的ORM Django项目使用MySQL数据库 1. 在Django项目的settings.py文件中

使用Python+OpenCV+dlib为人脸生成口罩

送分小仙女□ 提交于 2021-01-12 13:05:08
来源:深度学习与计算机视觉 本文约4800字,建议阅读6分钟本文试图用OpenCV和dlib库来实现这个过程,在这里我们综合生成5种类型的口罩来绘制人脸图像。 本文使用OpenCV dlib库生成口罩 口罩已经被证明是防止COVID-19传播的最好的防御措施之一,然而,这也导致了基于面部特征(包括鼻子、嘴和下巴线)的面部识别算法的失效。 在全球有传染病之前,面部识别系统通过对检测到的不同面部特征进行比较测量来验证两幅图像中的人脸。当一个人的鼻子、嘴和脸颊上戴上口罩,大大减少了通常用来识别他/她的身份的信息。 将需要重新训练或重新设计有效的识别系统,以识别受管制地区的口罩脸。为了做到这一点,需要一个大的口罩数据集来训练深度学习模型,以检测戴口罩的人和不戴口罩的人。 目前,可用于训练和评估人脸识别系统的图像数据集是有限的。据报道,美国国家标准与技术研究所(NIST)的研究通过将口罩(各种颜色、大小和位置)叠加在没有带口罩人脸的图像上来解决这个问题。 https://www.cnet.com/news/face-masks-are-thwarting-even-the-best-facial-recognition-algorithms-study-finds/?ftag=COS-05-10aaa0b&TheTime=2020-07-27T22%3A23%3A21&PostType

十九、dbms_resource_manager(用于维护资源计划,资源使用组和资源计划指令)

时光总嘲笑我的痴心妄想 提交于 2021-01-06 16:56:41
1、概述 作用:用于维护资源计划,资源使用组和资源计划指令;包dbms_resource_manager_privs用于维护与资源管理相关的权限. 2、包的组成 1)、dbms_resource_manager.create_plan 作用:建立资源计划 语法:dbms_resource_manager.create_plan(plan in varchar2,comment in varchar2,cpu_mth in varchar2 default 'EMPHASIS', active_sess_pool_mth in varchar2 default 'ACTIVE_SESS_POOL_ABSOLUTE', parallele_degree_limit_mth in varchar2 default 'PARALLEL_DEGREE_LIMIT_ABSOLUTE', queueing_mth in varchar2 default 'FIFO_TIMEOUT'); 其中plan指定资源计划名,comment指定用户注释信息,cpu_mth指定cpu资源的分配方法,active_sess_pool_mth指定最大活动会话的分配方法, parallele_degree_limit_mth指定并行度的分配方法,queueing_mth指定活动会话池的队列策略类型。 2)、dbms

mysql_tutorial

岁酱吖の 提交于 2021-01-05 12:03:12
<font size =3> [toc] 基本语法 SELECT 检索一列 SELECT lastName FROM employees; 检索多列 SELECT lastname, firstname, jobtitle FROM employees; 检索整个表 SELECT * FROM employees; ORDER BY 基本用法 SELECT select_list FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...; ASC代表上升、DESC代表下降,默认使用ASC 先根据column1进行上升排序,再根据column2进行下降排序 根据一列排序(默认是升序.ASC) SELECT contactLastname, contactFirstname FROM customers ORDER BY contactLastname; 根据一列指定降序排列 SELECT contactLastname, contactFirstname FROM customers ORDER BY contactLastname DESC; 按多列进行排序 SELECT contactLastname, contactFirstname FROM customers ORDER BY

postgresql数据库 TimescaleDB 定时压缩超表 删除超表(块)

自古美人都是妖i 提交于 2020-12-25 10:01:07
** postgresql数据库 TimescaleDB 定时压缩超表 删除超表(块) ** 在工作中 使用postgresql数据库 TimescaleDB 时序库进行存储实时数据,采集的数据量过大,提供的内存不足,因此考虑如何保存数据 TimescaleDB数据库中的超级表 TimescaleDB数据库自身带着函数就可以实现 ** TimescaleDB数据库所携带函数 一 .压缩 SELECT compress_chunk() ** 为了尽量不丢失数据,避免删除数据 我首先考虑把数据压缩,用他自带的函数 SELECT compress_chunk() 1查询时间 show_chunks() CREATE OR REPLACE FUNCTION "hrmw" . "show_chunks" ( "hypertable" regclass = NULL ::regclass , "older_than" any = NULL ::unknown , "newer_than" any = NULL ::unknown ) RETURNS SETOF "pg_catalog" . "regclass" AS '$libdir/timescaledb-1.7.1' , 'ts_chunk_show_chunks' LANGUAGE c STABLE COST 1 ROWS 1000

mysql中设置外键约束及主表从表的关系

蹲街弑〆低调 提交于 2020-12-24 06:35:53
1.新建外键代码 alter table stu5 add constraint 编号 foreign key (bh) references stu2 (bh) on delete restrict on update restrict ; 说明: stu2和stu5是两张表,“编号”为字段bh的约束名(是stu5表中的一个属性),bh是stu2表中的主键,而bh并不是stu5的主键,那么则称stu2为主表,stu5为从表。 注意: 1.新建外键,子表外键字段列值必须是父表引用列值的子集【值都不能包含怎么做引用列?】。 2.引用列字段必须是索引或主键或联合主键(索引值或联合主键值可重复,唯一主键不能重复)【不做索引怎么关联?】 2.删除和更新有四种设置方式 (1)cascade:级联,当父表更新、删除,子表所有同值记录会同步更新和删除【修改子表,必须保证修改后B表外键字段的值依然能在A表中找到,否则会报错。】(2)set null:置空,当父表更新、删除的时候,字表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错 (3)restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除个更改 (4)no action:和restrict一样 (5) SET DEFAULT 指定如果试图删除某一行

SQLServer之FOREIGN KEY约束

久未见 提交于 2020-12-23 04:37:48
FOREIGN KEY约束添加规则 1、外键约束并不仅仅可以与另一表的主键约束相链接,它还可以定义为引用另一个表中 UNIQUE 约束的列。 2、如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用列中存在;否则,将返回违反外键约束的错误信息。 若要确保验证了组合外键约束的所有值,请对所有参与列指定 NOT NULL。 3、FOREIGN KEY 约束仅能引用位于同一服务器上的同一数据库中的表。 跨数据库的引用完整性必须通过触发器实现 。 4、FOREIGN KEY 约束可引用同一表中的其他列。 此行为称为自引用。 5、在列级指定的 FOREIGN KEY 约束只能列出一个引用列。 此列的数据类型必须与定义约束的列的数据类型相同。 6、在表级指定的 FOREIGN KEY 约束所具有的引用列数目必须与约束列列表中的列数相同。 每个引用列的数据类型也必须与列表中相应列的数据类型相同。 7、对于表可包含的引用其他表的 FOREIGN KEY 约束的数目或其他表所拥有的引用特定表的 FOREIGN KEY 约束的数目, 数据库引擎 都没有预定义的限制。 尽管如此,可使用的 FOREIGN KEY 约束的实际数目还是受硬件配置以及数据库和应用程序设计的限制。 表最多可以将 253 个其他表和列作为外键引用(传出引用)。 SQL Server 2016 (13

关于数据库主从表、主键PRIMARY KEY 外键约束 FOREIGN KEY 约束----NOT NULL,DEFAULT,CHECK

狂风中的少年 提交于 2020-12-16 11:56:53
如果由两个列共同组成主键,而且一个子表将主键作为可为空值的外键来继承,就可能得到错误的数据。可在一个外键列中插入有效的值,但在另一个外键列中插入空值。然后,可添加一个数据表检查约束,在可为空的外键中检查数据的有效性。 任何多列外键都可能遇到同样的问题。所以,你需要添加一个检查约束来检测异常。最初,检查约束将检查构成外键的所有列中可能为空的值。检查约束还要检查这些列中不能为空的值。如两个检查都通过,问题就解决了。 ##1 二、SQL数据库数据体系结构 SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。名称对称如^00100009a^: ##1 三、SQL语言的组成 在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成: 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。 2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。 3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。 4