精华内容
下载资源
问答
  • mysql 删除外键约束
    2021-01-18 18:38:49

    查看创建数据库语句

    show create table table_name;

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

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

    FROM information_schema.TABLE_CONSTRAINTS c

    WHERE c.TABLE_SCHEMA='db_name' AND c.CONSTRAINT_TYPE='FOREIGN KEY';

    删除表约束

    alter table table_name drop foreign key FKstne13dqw7l76ib6cr6ytwl7v;

    commit;

    参数配置

    SET FOREIGN_KEY_CHECKS = 0;

    SET GLOBAL FOREIGN_KEY_CHECKS = 0;

    查看结果

    SELECT @@FOREIGN_KEY_CHECKS;

    更多相关内容
  • MySQL:MySQL不能删除外键,抱错Error on rename of ./ruler/test2child to ./ruler/#sql2-298-92 (errno: 152) 曾经这是MySQL的一个bug,但是现在只是MySQL的一个不友好的地方。 例子如下: mysql> ALTER TABLE ...
  • 删除外键 语法:alter table 表名 drop constraint 外键约束名 如: alter table Stu_PkFk_Sc drop constraint FK_s alter table Stu_PkFk_SC drop constraint FK_c –添加外键 语法:alter table 表名 add ...
  • Mysql数据库如何删除某一个数据库的所有外键并不删除相应的索引,一个sql脚本解决,无需知道外键的名称。
  • 在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot deleteorupdatea parent row: aforeignkeyconstraintfails (...) 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置...
  • MySQL删除外键约束问题。

    万次阅读 多人点赞 2019-05-26 10:20:54
    当我们在一个表中添加字段约束的时候: ALTER TABLE product ADD CONSTRAINT product_fk FOREIGN ...会认为我的外键约束名称为product_fk, 然后当我们想删除时: ALTER TABLE product DROP FOREIGN KEY product_...
    • 当我们在一个表中添加字段约束的时候:
    ALTER TABLE product ADD CONSTRAINT product_fk FOREIGN KEY(category_id) REFERENCES category(id);
    
    • 会认为我的外键约束名称为product_fk, 然后当我们想删除时:
    ALTER TABLE product DROP FOREIGN KEY product_fk;
    
    • 会出现以下的错误:
    <e>Query: alter table product drop foreign key product_fk
    
    Error Code: 1025
    Error on rename of '.\web_day09\product' to '.\web_day09\#sql2-2330-1' (errno: 152)
    
    • 这是因为字段的外键约束名并不是product_fk 。

    • 我们在数据库中执行一下命令:

    SHOW CREATE TABLE product
    
    • 控制台会显示:
    Table	Create Table
    product	CREATE TABLE `product` (
      `pid` varchar(32) NOT NULL,
      `pname` varchar(40) DEFAULT NULL,
      `price` double DEFAULT NULL,
      `category_id` varchar(32) DEFAULT NULL,
      PRIMARY KEY (`pid`),
      KEY `category_id` (`category_id`),
      CONSTRAINT `product_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `category` (`cid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
    • 从建表语句中我们发现外键约束名称是:
      product_ibfk_1

    • 然后我们再执行外键删除操作:

    <n>Query: alter table product drop foreign key product_ibfk_1
    
    0 row(s) affected
    
    • 删除成功。
    展开全文
  • Oracle 级联删除外键

    2021-05-08 17:58:12
    本教程将教大家如何在Oracle中使用级联删除外键。使用CREATETABLE语句定义级联删除以下是使用CREATETABLE语句定义级联删除的语法:CREATE TABLE table_name(column1 datatype null/not null,column2 datatype null/...

    所谓的级联删除是指当主表中的一条记录被删除,那么子表中所关联的记录也相应的自动删除。本教程将教大家如何在Oracle中使用级联删除外键。

    使用CREATE TABLE语句定义级联删除

    以下是使用CREATE TABLE语句定义级联删除的语法:

    CREATE TABLE table_name

    (

    column1 datatype null/not null,

    column2 datatype null/not null,

    ...

    CONSTRAINT fk_column

    FOREIGN KEY (column1, column2, ... column_n)

    REFERENCES parent_table (column1, column2, ... column_n)

    ON DELETE CASCADE

    );

    示例:

    CREATE TABLE supplier

    ( supplier_id numeric(10) not null,

    supplier_name varchar2(50) not null,

    contact_name varchar2(50),

    CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)

    );

    CREATE TABLE products

    ( product_id numeric(10) not null,

    supplier_id numeric(10) not null,

    CONSTRAINT fk_supplier

    FOREIGN KEY (supplier_id)

    REFERENCES supplier(supplier_id)

    ON DELETE CASCADE

    );

    以上示例中,我们在supplier表创建了一个名为supplier_pk的主键,这个主键只包含supplier_id字段。

    然后在products表上创建了一个名为fk_supplier的外键,该表根据supplier_id字段引用supplier表的supplier_pk字段。

    由于级联删除,当supplier表中的记录被删除时,products表中相应的所有记录也将被删除,因为这些记录具有相同的supplier_id值。

    此外,我们也可以创建一个具有多个字段的外键(带级联删除),如下例所示:

    CREATE TABLE supplier

    ( supplier_id numeric(10) not null,

    supplier_name varchar2(50) not null,

    contact_name varchar2(50),

    CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name)

    );

    CREATE TABLE products

    ( product_id numeric(10) not null,

    supplier_id numeric(10) not null,

    supplier_name varchar2(50) not null,

    CONSTRAINT fk_supplier_comp

    FOREIGN KEY (supplier_id, supplier_name)

    REFERENCES supplier(supplier_id, supplier_name)

    ON DELETE CASCADE

    );

    在这个例子中,fk_foreign_comp外键基于两个字段:supplier_id和supplier_name字段引用supplier表。

    根据supplier_id和supplier_name删除supplier表中的记录时,外键fk_foreign_comp上的级联删除会导致products表中的所有对应记录也会被级联删除。

    使用ALTER TABLE语句定义级联删除

    除了CREATE TABLE语句外,我们还可以用ALTER TABLE语句定义级联删除,具体语法如下:

    ALTER TABLE table_name

    ADD CONSTRAINT constraint_name

    FOREIGN KEY (column1, column2, ... column_n)

    REFERENCES parent_table (column1, column2, ... column_n)

    ON DELETE CASCADE;

    示例:

    ALTER TABLE products

    ADD CONSTRAINT fk_supplier

    FOREIGN KEY (supplier_id)

    REFERENCES supplier(supplier_id)

    ON DELETE CASCADE;

    在本例中,我们创建了一个名为fk_supplier的外键(带级联删除),该外键基于supplier_id字段引用supplier表。

    此外,我们也可以创建一个具有多个字段的外键(带级联删除),如下例所示:

    ALTER TABLE products

    ADD CONSTRAINT fk_supplier

    FOREIGN KEY (supplier_id, supplier_name)

    REFERENCES supplier(supplier_id, supplier_name)

    ON DELETE CASCADE;

    展开全文
  • sql server ql语句删除外键删除

    千次阅读 2021-01-19 10:18:54
    sql server ql语句删除外键删除alter table tablename add constraint ordersrelationshipforeign key mployeeidreferences employees (employeeid)on delete cascadeon update cascadealter...

    sql server ql语句删除外键和删除

    alter table tablename add constraint ordersrelationship

    foreign key mployeeid

    references employees (employeeid)

    on delete cascade

    on update cascade

    alter table books add constrait 外健名--指定一下名

    add foreign key (isbn) references readers(readerid);

    alter table books drop constraint 外健名

    设置表mybbs中的authorid为sql外键的方法及步骤进行了详细说明,希望对您能够有所启迪。

    设置表mybbs中的authorid为sql server外键,参照author表的id字段,直接使用transact sql语句,过程如下:

    --增加表mybbs(authorid)的sql server外键约束fk_mybbs_author,表mybbs中的authorid受表author中的sql server主键id约束:

    begin transaction

    alter table dbo.mybbs add constraint fk_mybbs_author

    foreign key (authorid)

    references dbo.author([id]) on update cascade on delete cascade

    --删除sl外键约束fk_mybbs_author:

    --alter table dbo.mybbs drop constraint fk_mybbs_author

    --rollback

    commit transaction

    上面on update cascade,on delete cascade两个选项,指明以后author表的id字段有delete,update操作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete操作的。

    看个实例

    create table `board` (

    `board_id` int(11) not null auto_increment,

    `catalog_id` int(11) not null default '0',

    `board_name` varchar(100) character set utf8 not null default '',

    `board_descrip` varchar(255) character set utf8 default null,

    `board_type` varchar(30) character set utf8 default null,

    primary key (`board_id`),

    key `外键` (`catalog_id`),

    constraint `外键约束` foreign key (`catalog_id`) references `catalog` (`catalog_id`)on delete cascade on update cascade //级联删除的关键语句

    ) engine=innodb auto_increment=13 default charset=gbk;

    sql外键两种用途:

    1/, 最常用的一种: 减少重复数据.表a中拥有外键,表b的数据基本是不允许删除的.这时选择对 insert 和 update 强制关系即可.

    2/,其次,是增加一个从属表. 如果表a删除一条记录时,表b中也随着删除一条相关联的记录,那么外键关系中,表a的主键是表b的外键。这种关系,实际上表b是表a的从属表(即表a是父表),选择对 insert 和 update 强制关系时,如果向表b中插入数据,表a中必须已经存在对应的记录。选择级联删除相关的字段时,删除表a中的一条记录,就会删除对应的表b中的一条记录。

    */

    ?>

    f68f2add0b68e4f9810432fce46917b7.png

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • MySQL外键在定以后,如果我们不再需要这个外键,可以进行删除操作,下面就为您介绍MySQL删除外键定义的方法,供您参考。不知道大家有没有发现,在定义外键的时候articles.member_id外键比articles.category_id子句多...
  • MySQL删除外键

    2021-02-10 01:17:23
    今天遇到一个要删除外键列的问题,我发现:Sql代码show create table userfans;Java代码| userfans | CREATE TABLE `userfans` (`id` int(11) NOT NULL AUTO_INCREMENT,`status` int(11) DEFAULT NULL,`update_time`...
  • 我在lesson表中没注意,一下设置了2个外键,导致出现了严重的问题,此表因为有外键导致不能删除,但是此表的添加了外键的列导致我查表出现错误的信息:1.lesson表:我现在想删除sid这个列的外键:别的同学的机子都...
  • 分类:非空约束(not null),唯一约束(unique),主键约束(primary key),默认约束(default),检查约束(check),外键约束(foreign key)。 二.运用 创建约束表:(也可以直接在创建新表目录,选择创建约束,不需要写...
  • 删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心。但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情;另外在测试的时候,也有需要重新创建数据库...
  • oracle 删除外键约束 禁用约束 启用约束oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码 select 'alter table '||table_name||' drop con ...备忘:MySQL中修改表中某列...
  • 有时我们不能删除mysql外键,我们该怎么办?这就是为什么mysql不允许你删除外键和解决方案,希望能帮助有需要的朋友!1.在建立一个外键之后,MYSQL将自动建立一个同名的索引2.删除外键时,如果同名索引被“删除”,...
  • postgresql 删除外键

    千次阅读 2020-05-13 11:15:47
    postgresql外键命令: ALTER TABLE table_name DROPCONSTRAINT foreing_key; 注意有时候table_name 和 foreing_key 需要加双引号; 添加外键命令: ALTER TABLE table_name1 ADD CONSTRAINT foreing_key_...
  • SQL中怎么创建外键删除外键

    千次阅读 2020-03-29 23:05:26
    删除外键约束(1)获取外键约束名称5. 小结 1.什么是外键约束 外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性 2.对于已经存在的...
  • 以表名为story,外键值FK68AF8F580E5B1为为例, SHOW CREATE TABLE story; SHOW INDEX FROM story; DROP INDEX FK68AF8F580E5B1ED ON story; ...ALTER TABLE story DROP FOREIGN KEY FK68AF8F580E5B1;
  • mysql删除外键约束

    2020-11-04 12:31:09
    在python中:Column(类型,ForeignKey(‘绑定的表.列名’,ondelete=‘约束类型’)) 外键约束有: RESTRICT:父表的数据被删除时会阻止删除,默认...SET NULL:父表数据被删除,子表的外键数据会被设置为NULL。 ...
  • MySQL数据库基础入门——day10一、外键外键用于建立加强两个表之间的联系,引入外链后,外键只能插入参照列存在的值,参照列被参照的值不能被删除,这就保证了数据的参照完整性。1.为表添加外键约束:想要真正连接两...
  • 其他表的外键: select * from user_constraints t where t.r_constraint_name='XPK岗位信息表' 对应的外键的表 ING_PERSON_POSITION_MAP ,外键约束名: FK_ING_PERSON_POSITION_MAP2 --2 删除外键约束 ...
  • 增加外键创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段)-- 创建外键create table my_foreign1(idint primary key auto_increment,namevarchar(20)not null ...
  • 无法删除外键约束

    2021-04-29 16:52:14
    外键删除失败 解决方法 删除外键之前要先查出字段所对应的外键名 **2. **通过外键删除外键
  • SQL Server 2012 外键约束(定义外键删除外键

    万次阅读 多人点赞 2019-04-21 20:00:26
    文章目录准备知识定义外键使用SSMS工具定义外键使用SQL方式定义外键删除外键使用SSMS工具删除外键方式一:在对象资源管理器中删除主键方式二:在表设计器中删除主键使用SQL方式删除外键 准备知识     外键...
  • 本文将从创建MySQL表单时添加外键、给已存在表单添加外键删除外键3个方面进行介绍,属于何种情况可快速定位。创建MySQL表单时添加外键外键是外部引用,因此作为外键的表一定是已经存在的,此处以ta、tb两个表做一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,884
精华内容 65,553
关键字:

删除外键

友情链接: 1线性方程组求解.zip