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

    万次阅读 多人点赞 2018-01-20 08:11:10
    1.查看数据库表创建的sql语句 ...2.查看外键约束名 CREATE TABLE `vip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `address` varchar(255) DEFAULT NULL, `code` varchar(255) DEFAULT NULL,
    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 NULL,
      `mobile` varchar(255) DEFAULT NULL,
      `name` varchar(255) DEFAULT NULL,
      `score` int(11) DEFAULT NULL,
      `id_code` varchar(255) DEFAULT NULL,
      `user_id` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `FK1C81D1738DA76` (`user_id`),
      CONSTRAINT `FK1C81D1738DA76` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
    3.解除外键约束
    alter table vip drop foreign key FK1C81D1738DA76

     
    4.删除外键
     
     
    alter table vip drop user_id

    感谢您的支持,写的文章如对您有所帮助,开源不易,请您打赏,谢谢啦~

    展开全文
  • 如何彻底删除外键约束添加外键删除外键参考链接 今天就跟修改表这个操作干上了,虽然用的并不多,但是平时自己做实验的时候还是很有用滴。比如说这个添加和删除外键。 添加外键 分为两步: 1. 添加相应列 ALTER ...

    如何彻底删除外键约束

    今天就跟修改表这个操作干上了,虽然用的并不多,但是平时自己做实验的时候还是很有用滴。比如说这个添加和删除外键。

    添加外键

    分为两步:

    1. 添加相应列
    ALTER TABLE goods 
    ADD stuid INT;
    2. 添加约束
    ALTER TABLE goods 
    ADD CONSTRAINT fk_stu_goo 
    FOREIGN KEY(stuid)
    REFERENCES stuinfo(id);
    - 附加创建goods表的语句
    DROP TABLE IF EXISTS goods;
    CREATE TABLE IF NOT EXISTS goods(
     id INT PRIMARY KEY auto_increment,
     name VARCHAR(20) NOT NULL,
     price DOUBLE DEFAULT 0
    );

    添加约束很简单,删除约束也是分为两步。

    删除外键

    如下

    1.删除外键约束
    ALTER TABLE goods DROP FOREIGN KEY fk_stu_goo;
    2.删除键值约束
    ALTER TABLE goods DROP INDEX fk_stu_goo;

    注意:只执行步骤1看似没有删除成功,起始删除了foreign key的约束。但是还有一个key的申明附加在外键的申明中执行。

    实行1之后的表创建语句如下:可以看到有申明KEY `fk_stu_goo` (`stuid`)
    CREATE TABLE `goods` (
      `id` int NOT NULL AUTO_INCREMENT,
      `name` varchar(20) NOT NULL,
      `price` double DEFAULT '0',
      `stuid` int DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `fk_stu_goo` (`stuid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
    

    此时执行ALTER TABLE goods DROP stuid;会失败。因此需要执行2删除index索引。

    参考链接

    • https://blog.csdn.net/u012430402/article/details/80337486
    • https://blog.csdn.net/qq_35604488/article/details/90573415

    庄周晓梦迷蝴蝶,望帝春心托杜鹃。 ——李商隐

    展开全文
  • 能够写出删除外键约束的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 外键名;
    展开全文
  • MySQl取消外键约束

    2019-10-31 17:19:18
    Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入, ...

    SET FOREIGN_KEY_CHECKS=0,在Mysql中取消外键约束;

    Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。

    解决方法是在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0;  

    然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入,

    然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;  

    展开全文
  • mysql 设置外键约束

    2020-09-29 14:30:07
    Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入,然后再...
  • 但是一般不添加外键删除主表的时候还得考虑是否有从表引用,很麻烦,一般不使用
  • 外键的作用是建立子表与父表的关联关系,是约束父表和子表, 1.父表和子表存储引擎一样且只能为InnoDB,禁止使用临时表, 2.外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同,而字符...
  • 问题描述:Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构 解决方法: 在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql...
  • mysql 删除外键

    2019-02-22 11:36:44
    MySQL 5.7 首先你要找到你的外键约束...删除外键命令:alter table 表名 drop foreign key 外键名; 删除主键命令: alter table 表名 drop primary key; 添加外键约束:alter table 表名 add foreign key(字段...
  • 记录一下碰到的问题。由于我是使用PowerDesigner来建mysql物理...它不让我删除,说存在外键约束删除会破坏他们的结构。 外键约束:让数据库自己通过外键来保证数据的完整性和一致性,让他们的关联性更强。 虽然它是有
  • CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行。SET NULL:从父表删除或更新行,并设置子表的外键...NO ACTION:标准的SQL语句,在MYSQL中与RESTRICT相同。CREATE TABLE department( id INT UNSIGNED A...
  • mysql外键约束

    2020-07-10 12:45:02
    一对多 在多的一边添加外键 CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), PASSWORD VARCHAR(20), ...删除外键语句 ALTER table account DROP FOREIGN KEY a
  • Mysql中取消外键约束

    千次阅读 2018-10-03 10:00:42
    Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入, 然后再...
  • 使用MySQL开发过数据库驱动的小型web应用程序的人都知道,对关系数据库的表进行创建、检索、更新和删除等操作都...MySQL外键约束条件  MySQL外键约束条件有以下几种:  · CASCADE : 从父表删除或更新行时自动删除
  • Mysql中取消外键约束

    千次阅读 2018-08-20 17:48:08
    Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。   解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0;   然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql...
  • 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理...再把结果中的删除语句拿出来执行,删除数据库中所有外键约束 SELECT CONCAT('ALTER
  • 删除表的语句是 DROP TABLE Table_2 有些时候会遇到一个表中存在外键无法删除。这时加上这个语句就可以成功删除 SET FOREIGN_KEY_CHECKS=0;
  • 本文实例讲述了MySQL外键约束常见操作方法。分享给大家供大家参考,具体如下: 1. 查看数据库表创建的sql语句 show create table vip 2. 查看外键的约束名 CREATE TABLE `vip` ( `id` int(11) NOT NULL AUTO_...
  • 2.而删除外键的时候,这个同名索引如果没被删,则MYSQL认为外键 所以你删除了外键,再查询,因为有同名索引在,因此还能看到, 如果再执行一次删除同名索引的存在,再查询外键,就看不到外键了 具体情况请参看以下文章...
  • :使用 `alter table` 语句删除外键约束: alter table stuinfo drop foreign key fk_stuinfo_major; Terminal显示语句执行成功: 但是当使用`show index` 语句再次查看索引时却发现依然存在: show index ...
  • 当在Mysql删除有一个建有外键的表的数据时可能会报此异常,所以可以启动MySql命令行模式,运行如下的sql语句来关闭外键检测: SET FOREIGN_KEY_CHECKS = 0; 执行你要的操作后把再把外键检测恢复 SET FOREIGN_KEY_...
  • mysql 外键约束

    2012-02-29 17:21:00
    NO ACTION 指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。CASCADE、SET NULL 和 SET DEFAULT 允许通过删除或更新键值来影响指定具有外键关系的表...
  • 删除外键约束: 删除约束 约束的 index_name 可通过 下面语句进行查询: SHOW INDEX FROM table_name\G; 1. 删除主键约束: ALTER TABLE table_name DROP PRIMARY KEY; 2. 删除唯一约...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 210
精华内容 84
关键字:

mysql删除外键约束语句

mysql 订阅