您的位置:首页 > 数据库 > MySQL

MySQL删除外键定义的方法

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

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

mysql> ALTER TABLE articles DROP FOREIGN KEY fk_member;

Query OK, 1 row affected (0.25 sec)

Records: 1 Duplicates: 0 Warnings: 0

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

mysql> SHOW CREATE TABLE articles;

+———-+————————————+

| Table | Create Table |

+———-+————————————+

| articles | CREATE TABLE `articles` (

`article_id` int(11) unsigned NOT NULL auto_increment,

`category_id` tinyint(3) unsigned NOT NULL,

`member_id` int(11) unsigned NOT NULL,

`title` varchar(255) NOT NULL,

PRIMARY KEY (`article_id`),

KEY `category_id` (`category_id`),

KEY `member_id` (`member_id`),

CONSTRAINT `articles_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+———-+————————————+

1 row in set (0.01 sec)

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

mysql> ALTER TABLE articles DROP FOREIGN KEY articles_ibfk_1;

Query OK, 1 row affected (0.66 sec)

Records: 1 Duplicates: 0 Warnings: 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: