MySQL删除外键定义的方法
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
MySQL删除外键定义的方法的更多相关文章
- MySQL删除外键约束问题
当我们在一个表中添加字段约束的时候: ALTER TABLE product ADD CONSTRAINT product_fk FOREIGN KEY(category_id) REFERENCES ...
- 备忘:MySQL中修改表中某列的数据类型、删除外键约束
-- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CON ...
- MySQL数据库--外键约束及外键使用
什么是主键.外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯 ...
- mysql添加外键约束变为索引
今天有位自己填上一坑:mysql储存引擎 原因就是数据库表引擎为:MyISAM,建立主外键关系需要是InnoDB: 解决方案:alter table table_name1 engine=inno ...
- Database学习 - mysql 数据库 外键
外键 外键约束子表的含义:如果在父表中赵达不到候选键,则不允许在子表上进行insert/update 外键预约对父表的含义:在父表上进行update/delete以更新或删除子表中有一条或多条对应匹配 ...
- MySQL中MyISAM与InnoDB区别及选择,mysql添加外键
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间 ...
- 第二百八十节,MySQL数据库-外键链表之一对多,多对多
MySQL数据库-外键链表之一对多,多对多 外键链表之一对多 外键链表:就是a表通过外键连接b表的主键,建立链表关系,需要注意的是a表外键字段类型,必须与要关联的b表的主键字段类型一致,否则无法创建索 ...
- MySQL的外键约束:Cascade/Restrict/No action/SET NULL :级联操作
转自:http://blog.csdn.net/cnjsnt_s/article/details/5548280 具体使用时需要参考:http://blog.csdn.net/codeforme/ar ...
- mysql:外键
mysql:外键 转自:https://www.cnblogs.com/brucemengbm/p/6897410.html 一个班级的学生个人信息表: 什么是外键 在设计的时候,就给表1加入一个外键 ...
随机推荐
- mongodb入门教程
title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...
- POJ1502
#include <iostream> #include <cstdio> #include <algorithm> #include <climits> ...
- 《Java编程思想》之重点笔记——多态性理解
Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定— ...
- Thinkphp 上传图片
<?php // 本类由系统自动生成,仅供测试用途 class ListAction extends Action { public function index(){ //$name = 's ...
- php按址传递bug
foreach ($product_info as $key=>&$value){ $value['bookCity'][]=array( ...
- 数据库操作封装类 DBHelper.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Co ...
- 在C#中internal关键字是什么意思?和protected internal区别
我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法.比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能, ...
- bash 编程中循环语句用法
1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; t ...
- ORACLE日期加减【转】
首先,感谢这个作者的辛勤汗水给我们带来的总结,因为日期函数操作对平时的使用真的是很常用,所以收藏一下以作后期使用. 原贴地址:http://www.cnblogs.com/xiao-yu/archiv ...
- 搭建ngrok服务器(ubuntu 14)-- 微信 80端口和IPC备案限制解决方案
概述: ngrok其实这东西,我也不是很懂,所以也直接跟大家说,这就是个类似花生壳的东西. 简单来说,它就好像把我们内网自己使用的电脑和服务器用vpn连接起来,然后你的电脑就可以从互联网来访问了,有个 ...