精华内容
下载资源
问答
  • 删除表的外键约束

    2020-05-13 19:04:03
    删除表的外键约束 我们曾在第一章中讲过外键的作用,以及如何创建一个表的外键。建立了外键我们就建立起了两张表的关联关系,那如果我想删除主表呢?为了确保数据库的正确性,我们必须先解除两个表之间的关联关系,...

    删除表的外键约束
    我们曾在第一章中讲过外键的作用,以及如何创建一个表的外键。建立了外键我们就建立起了两张表的关联关系,那如果我想删除主表呢?为了确保数据库的正确性,我们必须先解除两个表之间的关联关系,那就是删除外键约束啦!让我们先来看看删除外键约束的语法规则。

    语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名; 。
    我们先建立了一个主表country,
    然后建立一个有外键约束的子表Mall_products2,让它的键country_id作为外键关联到country的主键id。SQL语句如下:

    CREATE TABLE Mall_products2
    (
    id INT(11) PRIMARY KEY,
    country_name VARCHAR(20) NOT NULL,
    country_id INT(11) NOT NULL,
    CONSTRAINT prod_country FOREIGN KEY(country_id) REFERENCES country(id)
    )
    上述语句成功执行后,在表Mall_products2上添加了名称为prod_country的外键约束,外键名称为prod_country,依赖于表country的主键id,从下图中可以看到,已经成功添加了表的外键:

    下面开始删除外键约束,语句如下:
    ALTER TABLE Mall_products2 DROP FOREIGN KEY prod_country;
    我们可以看到,FOREIGN KEY不见了,外键约束删除成功!

    展开全文
  • 删除表的外键约束 我们曾在第一章中讲过外键的作用,以及如何创建一个表的外键。建立了外键我们就建立起了两张表的关联关系,那如果我想删除主表呢?为了确保数据库的正确性,我们必须先解除两个表之间的关联关系,...

    时间煮雨
    @R星校长

    删除表的外键约束

    我们曾在第一章中讲过外键的作用,以及如何创建一个表的外键。建立了外键我们就建立起了两张表的关联关系,那如果我想删除主表呢?为了确保数据库的正确性,我们必须先解除两个表之间的关联关系,那就是删除外键约束啦!让我们先来看看删除外键约束的语法规则。

    语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名; 。
    举个例子: 我们先建立了一个主表country,表结构如下图所示:

    1
    然后建立一个有外键约束的子表Mall_products2,让它的键country_id作为外键关联到country的主键idSQL语句如下:

    CREATE TABLE Mall_products2
    (
    id INT(11) PRIMARY KEY,
    country_name VARCHAR(20) NOT NULL,
    country_id INT(11) NOT NULL,
    CONSTRAINT prod_country FOREIGN KEY(country_id) REFERENCES country(id)
    )
    

    上述语句成功执行后,在表Mall_products2上添加了名称为prod_country的外键约束,外键名称为prod_country,依赖于表country的主键id,从下图中可以看到,已经成功添加了表的外键:
    2
    Mall_products2表结构如下图所示:
    3
    下面开始删除外键约束,语句如下:
    ALTER TABLE Mall_products2 DROP FOREIGN KEY prod_country;

    使用SHOW CREATE TABLE查看表 Mall_products2 的结构,结果如下:
    4
    我们可以看到,FOREIGN KEY不见了,外键约束删除成功!

    接下来你们可以自行体验一下了!   在这里插入图片描述

    展开全文
  • 使用如下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语句查询出表中外键约束名称:

    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语句删除即可。

    1 alter table 表名 drop constraint 外键约束名

    转载于:https://www.cnblogs.com/xuxiaoshuan/p/4310165.html

    展开全文
  • 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加...删除所有表的外键查询schema中所有外键名称...

    数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的关联关系。

    在实际开发中,数据库中一般不会存在外键,阿里的开发手册中也强制不使用外键与级联操作,一切外键概念必须在应用层解决。如果数据库中已存在外键了,怎么办呢?

    删除所有表的外键

    查询schema中所有外键名称然后拼接生成删除语句,再执行。

    SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,' ;')

    FROM information_schema.TABLE_CONSTRAINTS c

    WHERE c.TABLE_SCHEMA='库名' AND c.CONSTRAINT_TYPE='FOREIGN KEY';

    1

    2

    3

    修改MySQL变量FOREIGN_KEY_CHECKS

    -- 禁用外键约束

    SET FOREIGN_KEY_CHECKS = 0

    -- 启用外键约束

    SET FOREIGN_KEY_CHECKS = 1;

    1

    2

    3

    4

    由于FOREIGN_KEY_CHECKS是基于session的,当关闭了session重新建立连接,这个变量就会恢复默认值,也就是开启外键约束,当然我们也可以全局的FOREIGN_KEY_CHECKS变量。

    SET GLOBAL FOREIGN_KEY_CHECKS = 0;

    1

    或者:

    SET @@GLOBAL.FOREIGN_KEY_CHECKS = 0;

    1

    修改完成后,我们可以查看修改后的结果

    SELECT @@FOREIGN_KEY_CHECKS;

    ---------------------

    作者:李阿飞

    来源:CSDN

    原文:https://blog.csdn.net/junlovejava/article/details/78360253

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 删除所有的用户表的外键,直接将下面的代码拷贝到数据库里执行即可:--查询删除前的当前数据库所有约束select * from information_schema.key_column_usagedeclare @TableName nvarchar(250)--声明读取数据库所有...
  • 删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心。但是在开发过程中,发现Schema设计的有问题...删除表的时候有时会遇到这样的错误消息:ERROR 1217 (23000): Cannot delete or update a parent r...
  • 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会...删除所有表的外键  查询schema...
  • 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建之间的关联关系。  在实际...
  • MySQL查看和删除表相关外键关系

    千次阅读 2018-01-06 18:38:38
    查看mysql所有主键,外键约束名称 select * from information_schema.key_column_usage  然后执行如下 SQL 语句删除外键约束即可。 ALTER TABLE 表名 DROP CONSTRAINT 外键约束名;
  • 概述数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建之间的关联关系。在...
  • 2.而删除外键的时候,这个同名索引如果没被删,则MYSQL认为外键 所以你删除外键,再查询,因为有同名索引在,因此还能看到, 如果再执行一次删除同名索引存在,再查询外键,就看不到外键了 具体情况请参看以下文章...
  • 概述数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建之间的关联关系。在...
  • 删除数据库的外键

    千次阅读 2019-04-09 09:43:05
    删除外键的表的外键名与添加外键的外键名在这里是不同的,删除使用的外键名是上图所示的黄框中的 text1_ibfk_1 这个字段; 也可以使用命令:SHOW CREATE TABLE 表名,用来查看外键名; 如果删除的字段选用...
  • 删除mysql表的外键

    2013-08-09 10:05:02
    You usually get this error if your tables use the InnoDB engine. In that case you would have to drop the foreign key, and then do the alter table and drop the column.But the tricky part is that you ca...
  • 由于外键约束导致数据库表无法删除时候可用采取以下方法删除表和约束
  • 都将其表的外键删除在进行删除或修改 E.G : ALTER TABLE DROP FOREIGN KEY ;//先删除外键 DROP TABLE ;//删除表 OR ALTER TABLE ENGIER = ; SHOW ENGIER;//你可以用此查找你的数据库所拥有的引擎
  • SQL删除数据库里所有表的外键,同时删除所有用户表 删除所有的用户表的外键,直接将下面的代码拷贝到数据库里执行即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
  • 展开全部删除外键约束表,首先要删除外键关联,然后才可以删除表。如:1、创建表62616964757a686964616fe78988e69d8331333337616439author :CREATETABLE[dbo].[author]([ID][bigint]NOTNULLPRIMARYKEY,[AuthorName...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,359
精华内容 2,143
关键字:

删除表的外键