MySQL外键约束创建及删除 mysql 删除主外键约束

创建外键定义 :

CREATE TABLE categories (

category_id tinyint(3) unsigned NOT NULL AUTO_INCREMENT,

name varchar(30) NOT NULL,

PRIMARY KEY(category_id)

) ENGINE=INNODB;

INSERT INTO categories VALUES (1, ‘SQL Server’), (2, ‘Oracle’), (3, ‘PostgreSQL’), (4, ‘MySQL’), (5, ‘SQLite’);
MySQL外键约束创建及删除 mysql 删除主外键约束

CREATE TABLE members (

member_id INT(11) UNSIGNED NOT NULL,

name VARCHAR(20) NOT NULL,

PRIMARY KEY(member_id)

) ENGINE=INNODB;

CREATE TABLE articles (

article_id INT(11) unsigned NOT NULL AUTO_INCREMENT,

title varchar(255) NOT NULL,

category_id tinyint(3) unsigned NOT NULL,

member_id int(11) unsigned NOT NULL,

INDEX (category_id),

FOREIGN KEY (category_id) REFERENCES categories (category_id),CONSTRAINT fk_member FOREIGN KEY (member_id) REFERENCES members (member_id),

PRIMARY KEY(article_id)

) ENGINE=INNODB;

categories.category_id和articles.category_id、members.member_id和articles.member_id已经建立外键关系,只有articles.category_id的值存在与categories.category_id表中并且articles.member_id的值存在与members.member_id表中才会允许被插入或修改。:

删除外键定义 :

定义外键的时候articles.member_id外键比articles.category_id子句多了一个CONSTRAINT fk_member。这个fk_member就是用来删除外键定义用的:

ALTER TABLE articles DROP FOREIGN KEY fk_member;

这样articles.member_id外键定义就被删除

如果定义时没有指定CONSTRAINT fk_symbol(即外键符号)时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,因此就可以执行以下命令删除外键定义:

ALTER TABLE articles DROP FOREIGN KEY articles_ibfk_1;

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/107119.html

更多阅读

怎么快速成为贴吧吧主 怎么创建贴吧成为吧主

怎么快速成为贴吧吧主——简介怎么快速成为贴吧吧主。怎么快速成为贴吧吧主——方法/步骤怎么快速成为贴吧吧主 1、如果你只是单纯想要当一个贴吧的吧主的话这个就很方便的,只需要在

休眠文件hiberfil.sys的作用及删除是否安全 hiberfil.sys无法删除

和内存一样大小的硬盘空间对于电脑系统盘不大的人和追求系统快速的朋友来说,十分重要和迫切,下面我们来看看 和内存一样大小的 休眠文件hiberfil.sys的作用 及如何 删除它的方法,还有恢复方法。由于休眠一般这个功能永远用不到.而且对

赛尔号怎么退出战队及删除队员 赛尔号如何退出战队

赛尔号怎么退出战队及删除队员——简介操作简单,一看就会!赛尔号怎么退出战队及删除队员——工具/原料打开赛尔号游戏进入飞船(即开始游戏)赛尔号怎么退出战队及删除队员——方法/步骤1赛尔号怎么退出战队及删除队员 1、点击“战队”

SQL语句分类:

SQL语句分类:1:数据定义语言(DDL)用于创建、修改、和删除数据库内的数据结构,如:1:创建和删除数据库(CREATE DATABASE ||DROPDATABASE);2:创建、修改、重命名、删除表(CREATE TABLE ||ALTERTABLE|| RENAME TABLE||DROPTABLE);3:创建和删除索

声明:《MySQL外键约束创建及删除 mysql 删除主外键约束》为网友动心忍性分享!如侵犯到您的合法权益请联系我们删除