zoukankan      html  css  js  c++  java
  • MySQL删除外键定义的方法

    MySQL外键在定以后,如果我们不再需要这个外键,可以进行删除操作,下面就为您介绍MySQL删除外键定义的方法,供您参考。

    不知道大家有没有发现,在定义外键的时候articles.member_id外键比articles.category_id子句多了一个CONSTRAINT fk_member ?
    这个fk_member就是用来实现MySQL删除外键用的,如下所示:

    1. mysql> ALTER TABLE articles DROP FOREIGN KEY fk_member;  
    2. Query OK, 1 row affected (0.25 sec)  
    3. Records: 1    Duplicates: 0    Warnings: 0 

    这样articles.member_id外键定义就被删除了,但是如果定义时没有指定CONSTRAINT fk_symbol (即外键符号)时该怎么实现MySQL删除外键呢?别急,没有指定时,MySQL会自己创建一个,可以通过以下命令查看:

    1. mysql> SHOW CREATE TABLE articles;  
    2. +———-+————————————+  
    3. | Table      | Create Table                         |  
    4. +———-+————————————+  
    5. | articles | CREATE TABLE `articles` (  
    6.     `article_id` int(11) unsigned NOT NULL auto_increment,  
    7.     `category_id` tinyint(3) unsigned NOT NULL,  
    8.     `member_id` int(11) unsigned NOT NULL,  
    9.     `title` varchar(255) NOT NULL,  
    10.     PRIMARY KEY    (`article_id`),  
    11.     KEY `category_id` (`category_id`),  
    12.     KEY `member_id` (`member_id`),  
    13.     CONSTRAINT `articles_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`)  
    14. ENGINE=InnoDB DEFAULT CHARSET=latin1            |  
    15. +———-+————————————+  
    16. 1 row in set (0.01 sec)  
    17.  

    可以看出articles.category_id的外键符号为articles_ibfk_1,因为就可以执行以下命令实现MySQL删除外键定义:

      1. mysql> ALTER TABLE articles DROP FOREIGN KEY articles_ibfk_1;  
      2. Query OK, 1 row affected (0.66 sec)  
      3. Records: 1    Duplicates: 0    Warnings: 0 
  • 相关阅读:
    NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
    iOS项目开发需要导进的常用第三方库
    iOS---防止UIButton重复点击的三种实现方式
    Xcode9 不使用数据线真机调试
    修改Xcode新建类的注释模板(作者,公司名等)
    【源码】tableView刷新指定的cell 或section和滚动到指定的位置
    【源码】tableViewcell页码
    ios如何在一个控制器中添加另一个控制器
    把本地项目提交到coding上
    deinit
  • 原文地址:https://www.cnblogs.com/chengJAVA/p/3951860.html
Copyright © 2011-2022 走看看