级联删除. 最近建一个合同关系,在原有的资产平台上添加维保合同关系,维保合同问题, 需要在后面添加资产的维保合同,使用ef,该添加的冗余字段都已经添加上了,现在做这个,删除的时候只删了主表提示出问题,原来我没有在外键上选上  “级联删除”  属性 最终出现的结果就是要手动删了,这种做法是不对的!…
这种问题是由于主键设置了唯一性,而数据库中主键列的值又有重复的值,重复值为E,改掉其中一个值就可以了.…
如果我们直接用delete from语句来删除读写频繁的大表中的数据,很有可能会因为where的条件是全表扫描从而导致整个表被锁住了.如果该表是读写频繁的生产库那简直就是一场灾难,所有的线上读写请求都会因为表被锁而超时. 如果不想如此糟糕的情况发生,我们可以先分析一下导致表被锁住的原因.既然全表扫描会会导致锁表,那我们就先把删除操作分为查询和删除.然后再分批删除,如此就可以保证不会引发线上读写请求大规模超时.如果这样你还担心频繁的分批删除影响线上效率的话,还可以在每个批次加上一定的延时. /*…
问题描述:为什么在MySQL数据库中不能创建外键,尝试了很多次,既没有报错,也没有显示创建成功,真实奇了怪,这是为什么呢? 问题解决:通过查找资料,每次在MySQL数据库中创建表时默认的情况是这样的: 从图中红色矩形中可以看出,默认的表类型是“MyISAM”,通过测试将表类型改成“InnoDB”就可以创建外键了(如下图所示): 好神奇的样子,查找资料,总结如下: InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISA…
Oracle创建主键自增表   1.创建表    create table Test_Increase(            userid number(10) NOT NULL primary key,  /*主键,自动增加*/            username varchar2(20)            ); 2.创建自动增长序列    CREATE SEQUENCE TestIncrease_Sequence  INCREMENT BY 1   -- 每次加几个        …
原文:SQL Server 2008 R2中,变表的右键弹出菜单中的"选择前1000行"为"选择所有行" 从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代.这有时会为我们带来一些不便. 更改方法是:打开SQL Server Management Studio,依次点击"工具"菜单."选项",展开左…
SQL SERVER 判断是否存在数据库.表.列.视图 --1. 判断数据库是否存在 IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名') DROP DATABASE [数据库名] --2. 判断表是否存在 ) PRINT '存在' ELSE PRINT '不存在' --3. 判断存储过程是否存在 ) PRINT '存在' ELSE PRINT '不存在' --4. 判断临时表是否存在 IF OBJECT_ID('TEMPDB..…
本文主要摘自徐海蔚的<Microsoft SQL SERVER企业级平台管理实践> 表变量可以作为存储过程的返回参数,而临时表不行.(存疑?表值参数只在SQL SERVER2008才开始支持,并且限制很多,要首先定义表类型) use [test] go create type [user] as table(id int,name varchar(50)); go create procedure test_prd @u [user] readonly as begin select * fr…
建外键的前提是此外键必须是另外一个表的主键. 建外键的步骤: 第一步打开要建外键表的设计器,右击选择“关系”. 然后弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮, 就会弹出另外一个窗体让我们选择主键表和列,选好之后点击确定. 然后我们展开INSERT和UPDATE规范,在更新规则和删除规则有四个选项,分别是“不执行任何操作”.“级联”.“设置为NULL”.“设置默认值”. 默认的不执行任何操作.如果是“不执行任何操作”,当我们删除或更新主键表的数据时,会告诉用户不能…
1.子查询概念 (1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询. (2)自查询的分类 1)独立子查询 ->独立单值(标量)子查询  (=) Select testID,stuID,testBase,testBeyond,testPro from Score where stuID=( select stuID from Student where stuName=’Kencery’ ) ->独立多值子查询  …