【MySQL学习10:外键约束下的更新操作】教程文章相关的互联网学习教程文章

MYSQL外键约束的参照操作

如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。这里以MySQL为例,总结一下3种外键约束方式的区别和联系。这里以用户表和用户组表为例,这是一个典型的多对一关系,多个用户对应于一个用户组。首先创建用户组表:创建用户组表create table t_group ...

Mysql添加外键约束【图】

简单说一下使用外键的好处 1、完整性约束 比如:用户表中有字段 用户编号(id) , 名称(username)设备表中有字段 设备编号(id) , 设备名称(devicename) 设备属于的用户编号(user_id) 把设备表中的用户编号设置成外键,引用用户表的主键。 当向设备表中输入数据时,如果输入用户编号在用户表中找不到对应的话,就会报错,从而能保证这个设备必定会属于一个存在的用户。2、可以实现级联删除 还引用上面的例子,当一个用户不在使...

mysql外键约束的两种方法【代码】【图】

[CONSTRAINT symbol] FOREIGN KEY [id] (从表的字段1) REFERENCES tbl_name (主表的字段2) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}上面的代码是同一行,中括号里的内容是可选项。解释如下:CONSTRAINT symbol:可以给这个外键约束起一个名字,有了名字,以后找到它就很方便了。如果不加此参数的话,系统会自动分配一个名字。FOREIGN KEY:将从表中的字段...

mysql SQL设置外键约束ON DELETE CASCADE【代码】

第一步:删除原有的外键约束 ALTER TABLE child_table DROP FOREIGN KEY `FK_Reference_2` ; 第二步:添加新的外键约束,增加ON DELETE CASCADE ALTER TABLE child_table ADD CONSTRAINT `FK_Reference_2`FOREIGN KEY (`parent_id` )REFERENCES parent_table (`parent_id` )ON DELETE CASCADEON UPDATE RESTRICT; 这样,就可以达到删除父节点的时候,自动删除子节点的目的了。 mysql SQL设置外键约束ON DELETE CASCADE标签:本文...

Mysql外键约束【代码】【图】

如果表A的主关键字是表B中的字段,则该字段称为B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。 CASCADE: 从父表删除或更新且自动删除或更新子表中匹配的行。 SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL。 NO ACTION: 在ANSI SQL-92标准中,NO ACTION意味这不采取动...

MySQL学习10:外键约束下的更新操作【图】

一外键约束的参照操作 我们进行外键约束的创建以后,在更新表的时候,子表是否也进行相应的更新。这是我们创建外键约束最大的好 处。有以下几种: 1)CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行。 2)SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指 定NOT NULL。 3)RESTRICT:拒绝对父表的删除或更新操作。 4)NO ACTION:标准...

MySQL学习9:详解MySQL中的外键约束【图】

一约束概述 创建约束的目的就是保证数据的完整性和一致性。约束根据约束针对的字段的数目的多少划分为表级约束和列级 约束。 如果约束按照功能来划分的话刻印划分为:NOT NULL(非空约束)、PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、DEFAULT(默认约束)和FOREIGN KEY(外键约束)。 在前面我们已经初步涉及到了除外键约束之外的四个约束,这一次我们来谈谈最复杂的外键约束。 二外键约束的要求 ...

mysql外键约束总结【代码】

table t_group (id int not null,name varchar(30),primary key (id));并插入两条记录:插入记录insert into t_group values (1, ‘Group1‘); insert into t_group values (2, ‘Group2‘);下面创建用户表,分别以不同的约束方式创建外键引用关系:1、级联(cascade)方式级联方式create table t_user (id int not null,name varchar(30),groupid int,primary key (id),foreign key (groupid) references t_group(id) on delete cas...

MySQL外键约束的使用【图】

软件工程试验二中要求建立如下数据库: 使用MySQL建立一个“图书数据库“ BookDB,包含两张表:– Book {ISBN (PK), Title, AuthorID (FK), Publisher, PublishDate, Price}– Author {AuthorID (PK), Name, Age, Country} 其中FK是 foreign key的意思,即给Book数据表加上一个外键约束,下面先解释下外键约束的作用。 定义外键主要是为了维护关系数据库的完整性,使相关数据表之间的数据同步,可以很好的处理一对多关系,例如一篇...

Mysql外键约束设置使用方法

4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;创建外键语法:代码如下 复制代码[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) REFERENCES tbl_name (index_col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option]reference...

mysql 外键约束【代码】

table t_group(id int not null,name varchar(30),primary key(id) ); #插入两条记录 insert into t_group values (1, ‘Group1‘); insert into t_group values (2, ‘Group2‘); ##############演示############## 三种外键约束模式:级联(cascade)、置空(set null)、禁止(no action / restrict 默认) 1.级联方式(从表中的列也会被删除或更新)create table t_user ( id int not null, name varchar(30), gr...

MySQL 如何删除有外键约束的表数据

禁用外键约束 SET FOREIGN_KEY_CHECKS=0; -- 删除数据 truncate table stockTBL; -- 启动外键约束 SET FOREIGN_KEY_CHECKS=1; -- 查看当前FOREIGN_KEY_CHECKS的值,可用如下命令: SELECT @@FOREIGN_KEY_CHECKS; MySQL 如何删除有外键约束的表数据标签:set log nbsp 命令 禁用 tab span 启动 color 本文系统来源:http://www.cnblogs.com/ziyu516518/p/6657493.html

MySQL 外键约束【图】

外键是表中的一个字段,它可以不是本表的主键,但对应另一个表的主键。主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表语法:[CONSTRAINT <外键名>] FOREIGN KEY [字段名] REFERENCES <主表名> 主键列 MySQL 外键约束标签:img images logs src nbsp reference 主键 fore...

mysql的外键约束

#首先登录mysql mysql -uroot 打开一个数据库 mysql>use db1; 创建一个父表,我们命名为province,mysql> create table province ( -> id smallint auto_increment key, -> name varchar(10) NOT NULL -> ); 创建一个子表,命名为student,其中其pid引用来自province的id,mysql> create table student ( -> id smallint primary key, -> name varchar(10) NOT NULL, -> pid smallint, -> foreign ke...

mysql设置外键约束开启-关闭

在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...) 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。 我们可以使用 SET FOREIGN_KEY_CHECKS=0;来禁用外键约束. 之后再用 SET FOREIGN_KEY_CHECKS=1;来启动外键约束. 查看当前FOREIGN_KEY_CHECKS的值可用如下命令 ...