精华内容
下载资源
问答
  • 能够写出删除外键约束的SQL语句 1. 外键约束作用 外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性 2. 对于已经存在的字段添加外键...

    外键SQL语句的编写

    学习目标

    • 能够写出删除外键约束的SQL语句

    1. 外键约束作用

    外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性

    2. 对于已经存在的字段添加外键约束

    -- 为cls_id字段添加外键约束
    alter table students add foreign key(cls_id) references classes(id);
    

    3. 在创建数据表时设置外键约束

    -- 创建学校表
    create table school(
        id int not null primary key auto_increment, 
        name varchar(10)
    );
    
    -- 创建老师表
    create table teacher(
        id int not null primary key auto_increment, 
        name varchar(10), 
        s_id int not null, 
        foreign key(s_id) references school(id)
    );
    

    4. 删除外键约束

    -- 需要先获取外键约束名称,该名称系统会自动生成,可以通过查看表创建语句来获取名称
    show create table teacher;
    
    -- 获取名称之后就可以根据名称来删除外键约束
    alter table teacher drop foreign key 外键名;
    

    5. 小结

    • 添加外键约束: alter table 从表 add foreign key(外键字段) references 主表(主键字段);
    • 删除外键约束: alter table 表名 drop foreign key 外键名;
    展开全文
  • 删除一张表时候 会提示到已查询到子记录,这是因为这个表被其他表外键约束 执行下面语句 就能知道被那张表外键约束 SELECT * FROM user_constraints t WHERE t.CONSTRAINT_TYPE = 'R' and t.constraint_...

      

    在删除一张表的时候 会提示到已查询到子记录,这是因为这个表被其他表外键约束

    执行下面语句 就能知道被那张表外键约束

    SELECT   * FROM   user_constraints t WHERE   t.CONSTRAINT_TYPE = 'R' and t.constraint_name = 'FKD087C464ACD7C9E3';

    
    展开全文
  • sql server中解除与启用外键约束的语句 创建外键: ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main; 暂时 停用 外键约束 ALTER TABLE test_sub NOCHECK CONSTRAINT ...

    sql server中解除与启用外键约束的语句

    创建外键:
    ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;

    暂时停用外键约束
    ALTER TABLE test_sub NOCHECK CONSTRAINT main_id_cons;

    重新启用外键约束
    ALTER TABLE test_sub CHECK CONSTRAINT main_id_cons;

    删除外键
    ALTER TABLE test_sub DROP CONSTRAINT main_id_cons;

    展开全文
  • 创建表时,添加外键约束的完整语句是: `constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)`, "constraint 外键名称"可以省略,不设置外键名称。 但省略后删除外键时,又需要...

    最近在学sql语言,遇到了两个小问题,记录一下
    1.创建表时,添加外键约束

    创建表时,添加外键约束的完整语句是:
    `constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)`,
    

    "constraint 外键名称"可以省略,不设置外键名称。
    但省略后删除外键时,又需要外键名。

    删除外键的语句:
    ALTER TABLE 表名 DROP FOREIGN KEY 外键;
    

    这个时候就不太好办了,虽然上面省略constraint 外键名称之后,我们没有设置外键名称,但系统是给了一个外键名的。
    在这里插入图片描述
    我这里给的是‘emp_idfk_1’用系统给的外键名删除外键

    ALTER TABLE emp DROP FOREIGN KEY  emp_idfk_1;
    

    还是报错,所以还是不要省略“constraint 外键名” 比较方便
    2.条件查询 是where不是while

    创建部门表
    CREATE TABLE dept(
     id INT PRIMARY KEY AUTO_INCREMENT,
     NAME VARCHAR(20)
    );
    
     创建员工表
    CREATE TABLE emp (
    	 id INT PRIMARY KEY AUTO_INCREMENT,
    	 NAME VARCHAR(10),
    	 gender CHAR(1), -- 性别
    	 salary DOUBLE, -- 工资
    	 join_date DATE, -- 入职日期
    	 dept_id INT,
    	 FOREIGN KEY (dept_id) REFERENCES dept(id) -- 外键,关联部门表(部门表的主键) ) 
    	);
    
    -- -- 查询员工的入职日期是2011年11月11日之后的员工信息和部门信息
    SELECT * FROM dept t1 ,(SELECT * FROM emp WHILE emp.`join_date`>'2011-11-11') t2 
    WHILE t1.id=t2.dept_id;
    

    刚开始怎么都找不到错,后来发现,原来是WHERE,不是WHILE。。。
    WHILE是条件满足时一直执行
    WHERE是筛选条件满足的数据

    展开全文
  • mysql删除外键约束

    万次阅读 多人点赞 2018-01-20 08:11:10
    1.查看数据库表创建的sql语句 show create table vip 2.查看外键约束名 CREATE TABLE `vip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `address` varchar(255) DEFAULT NULL, `code` varchar(255) DEFAULT...
  • 执行以下sql生成的语句即可 删除所有外键约束 Sql代码 select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R' 禁用所有外键约束...
  • 使用MSSSQL 创建表 carete table PartInfo ( tid int primary key identity(1,1), PartName varchar(40), parentID int FOREIGN KEY REFERENCES PartInfo(tid) ) 如何清空这个表让tid重新由1开始累加
  • 1、删除外键约束,建立外键约束 先建立3个表: /* drop table tb drop table tb_b drop table tb_c */ --建立3个关联表 create table tb(id int primary key ,vv varchar(10)) create table tb_b( idd int ...
  • CASCADE注:mysql中不区分大小写,一般关键字用大写,自己写用小写就可以 用到数据: 1 #创建部门 2 CREATE TABLE IF NOT EXISTS dept ( 3 did int not null auto_increment PRIMARY KEY, 4 ...
  • 删除外键关联sql语句

    千次阅读 2012-03-28 14:04:49
    drop table tableName cascade constraints; 备注:强行删除该表后,有该外键约束的表会取消该外键约束。
  • oracle删除外键约束-禁用约束-启用约束 执行以下sql生成的语句即可 --删除所有外键约束 select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where ...
  • 执行以下sql生成的语句即可删除所有外键约束 select alter table ||table_name|| drop constraint ||constraint_name||; from user_constraints where constraint_type=R 禁用所有外键约束
  • 关于包含外键表,清理数据时候,如truncateTable,网上大部分解决办法是,删除外键-》删除数据-》再新建表。 这里介绍一种不需要删除外键,只需要修改外键属性就可以删除数据方式。 如上图所示,展开...
  • 执行以下sql生成的语句即可 删除所有外键约束 select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R' 禁用所有外键约束 select '...
  • 使用如下SQL语句查询出表中外键约束名称: 1 select name 2 from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 3 where f.parent_object_id=object_id('表名') ...
  • 在网上找到了一句得到删除数据库中所有外键约束的语句的sql语句 但是发现这只是一句查询,要执行的话,还得复制出来执行,比较麻烦 于是写了个sp来自动执行,比较方便 代码如下: Sql代码 ...
  • 外键的作用是建立子表与父表关联关系,是约束父表和子表, 1.父表和子表存储引擎一样且只能为InnoDB,禁止使用临时表, 2.外键列和参照列必须具有相似数据类型,其中数字长度或是否有符号位必须相同,而字符...
  • 执行以下sql生成的语句即可 ...删除所有外键约束 select 'alter table ' ||table_name|| ' drop constraint ' ||constraint_name|| ';' from user_constraints where constraint_type= 'R' 禁用所有外键约
  • 当我们在删除一张有外键约束的表时,直接采用drop table A表,会报以下错误: 无法删除对象 'A表',因为该对象正由一个 FOREIGN KEY 约束引用。错误原因:A表被其他表的外键引用了解决方法: 1.找出本表的外键约束...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 397
精华内容 158
关键字:

删除外键约束的sql语句