精华内容
下载资源
问答
  • MySQL添加外键约束语法

    万次阅读 2019-05-09 16:00:01
    ·添加外键约束: altertable从表addconstraint外键(形如:FK_从表_主表)foreignkey(从表外键字段)references主表(主键字段); 如果mysql报错:Error Code: 1215. Cannot add foreign key constraint (foreign ...

    sql语句格式:

    · 添加外键约束:

    alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key (从表外键字段) references 主表(主键字段);

    如果mysql报错:Error Code: 1215. Cannot add foreign key constraint (foreign keys)

    检查 主从表两个字段的属性是否一致

     

    展开全文
  • 在MySQL中,InnoDB引擎类型的表支持了外键约束。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在...

    在MySQL中,InnoDB引擎类型的表支持了外键约束。

    外键的使用条件:

    1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);

    2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;

    3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;

    外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;

    外键的定义语法:

    [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …)

    REFERENCES tbl_name (index_col_name, …)

    [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]

    [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]

    该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。

    ON DELETE、ON UPDATE表示事件触发限制,可设参数:

    RESTRICT(限制外表中的外键改动)

    CASCADE(跟随外键改动)

    SET NULL(设空值)

    SET DEFAULT(设默认值)

    NO ACTION(无动作,默认的)

    展开全文
  • 我们可以在创建表时设置外键约束。在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键,具体的语法格式如下:[CONSTRAINT ] FOREIGN KEY 字段名 [,字段名2,…]REFERENCES 主键列1 [,主键列2,…]举例:...

    a894b7fed64398805dce0ce0f75e4a31.png

    我们可以在创建表时设置外键约束。

    在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键,具体的语法格式如下:[CONSTRAINT ] FOREIGN KEY 字段名 [,字段名2,…]

    REFERENCES 主键列1 [,主键列2,…]

    举例:

    现在在 test_db 数据库中创建一个部门表 tb_dept1,表结构如下图所示:

    64d44e94da7e7f111415d61438be8e61.png

    创建 tb_dept1 的 SQL 语句和运行结果如下所示。mysql> CREATE TABLE tb_dept1

    -> (

    -> id INT(11) PRIMARY KEY,

    -> name VARCHAR(22) NOT NULL,

    -> location VARCHAR(50)

    -> );

    Query OK, 0 rows affected (0.37 sec)

    创建数据表 tb_emp6,并在表 tb_emp6 上创建外键约束,让它的键 deptId 作为外键关联到表 tb_dept1 的主键 id,SQL 语句和运行结果如下所示。mysql> CREATE TABLE tb_emp6

    -> (

    -> id INT(11) PRIMARY KEY,

    -> name VARCHAR(25),

    -> deptId INT(11),

    -> salary FLOAT,

    -> CONSTRAINT fk_emp_dept1

    -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)

    -> );

    Query OK, 0 rows affected (0.37 sec)

    mysql> DESC tb_emp6;

    +--------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +--------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(25) | YES | | NULL | |

    | deptId | int(11) | YES | MUL | NULL | |

    | salary | float | YES | | NULL | |

    +--------+-------------+------+-----+---------+-------+

    4 rows in set (1.33 sec)

    以上语句执行成功之后,在表 tb_emp6 上添加了名称为 fk_emp_dept1 的外键约束,外键名称为 deptId,其依赖于表 tb_dept1 的主键 id。

    注意:从表的外键关联的必须是主表的主键,且主键和外键的数据类型必须一致。例如,两者都是 INT 类型,或者都是 CHAR 类型。如果不满足这样的要求,在创建从表时,就会出现“ERROR 1005(HY000): Can't create table”错误。

    展开全文
  • mysql创建表时设置外键约束的方法

    千次阅读 2021-01-18 19:18:26
    mysql创建表时设置外键约束的方法发布时间:2020-06-17 15:54:11来源:亿速云阅读:312作者:元一MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就...

    mysql创建表时设置外键约束的方法

    发布时间:2020-06-17 15:54:11

    来源:亿速云

    阅读:312

    作者:元一

    MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    我们可以在创建表时设置外键约束:

    在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键,具体的语法格式如下:[CONSTRAINT ] FOREIGN KEY 字段名 [,字段名2,…]

    REFERENCES 主键列1 [,主键列2,…]

    举例:

    现在在 test_db 数据库中创建一个部门表 tb_dept1,表结构如下图所示:

    1cced31150f3ccf1a968ba92cd2cb75f.png

    创建 tb_dept1 的 SQL 语句和运行结果如下所示。mysql> CREATE TABLE tb_dept1

    -> (

    -> id INT(11) PRIMARY KEY,

    展开全文
  • 对于mysql添加外键约束时,提示语法错误的可能情况分析与解决
  • MySQL外键约束

    2021-02-02 03:58:44
    在本教程中,您将了解MySQL外键(foreign key)以及如何在MySQL中创建,添加和删除外键约束。MySQL外键简介外键表示一个表中的一个字段被另一个表中的一个字段引用。外键对相关表中的数据造成了限制,使MySQL能够保持...
  • 主表:多表关系中的1表,又称为主表。...语法外键约束:使主表主键和从表的外键,形成主外键关系(也称为一对多关系)alter table 从表名称 add constraint 外键名称 foreign key (外键名称) references 主表名称 (...
  • 我们可以在创建表时设置外键约束。在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键,具体的语法格式如下:...创建数据表 tb_emp6,并在表 tb_emp6 上创建外键约束,让它的键 deptId 作为外键关联到表 t...
  • 语法 列级进行设置 ...外键约束也被称为主次表的关系。 注意: 设置外键约束时,主表的字段必须是主键。 主从表中相应的字段必须是同一种数据类型。 从表中外键字段的值必须来自主表中的相
  • 文章目录数据表的创建约束的名称外键约束索引的创建和使用 数据表的创建 DEMO:创建一张保存老师信息的表 DROP TABLE teacher PURGE; CREATE TABLE teacher( tno NUMBER(4), tname VARCHAR2(10), tage ...
  • 一篇文章带你彻底搞懂搞懂MySQL中的主键和外键约束 本文主要使用Navicat for MySQL 通过编程和代码测试 来分析SQL语言的常用约束条件:主键约束 和 外键约束
  • mysql中设置外键约束的方法:可以通过FOREIGN KEY关键字来指定外键,语法“ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(列名) REFERENCES 主表名 (列名);”。(1) 外键的使用:外键的作用,主要有两个:一个是...
  • 外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。这里以MySQL为例,总结一下3种外键约束方式的区别和联系。这里以用户表...
  • 2012-08-31 回答mysql外键设置详解(1) 外键的使用:外键的作用,主要有两个:一个是让数据库自己通过外键来保证数据的完整性和一致性一个就是能够增加er图的可读性有些人认为外键的建立会给开发时操作数据库带来很大的...
  • 外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。外键主要用来保证数据的完整性和一致性两个表必须是InnoDB表,MyISAM表...
  • MySQL的外键约束FOREIGN KEY

    千次阅读 2019-04-08 14:43:46
    一、建立外键约束 语法如下: [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (col_name, ...) REFERENCES tbl_name (col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option] ...
  • mysql外键约束怎么写

    千次阅读 2021-01-18 19:17:33
    mysql外键约束的写法:【[CONSTRAINT ] FOREIGN KEY 字段名 REFERENCES 主键列1】。外键约束是表的一个特殊字段,经常与主键约束一起使用。在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键。(推荐学习:...
  • MySQL外键约束详解

    2019-07-11 15:40:17
    MySQL外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。 外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键的值必须等于另一...
  • 外键约束三种形式

    千次阅读 2019-05-13 16:21:15
    外键有三种约束模式: district : 严格模式(默认的),父表不能删除或更新一个已经被子表数据引用的记录。 cascade : 级联模式,父表的操作,对应子表关联的数据也跟着操作。 set null : 置空模式,父表被操作...
  • MySQL为表添加外键约束

    千次阅读 2021-01-18 22:13:53
    为表添加外键约束语法Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);为表student添加外键约束执行成功后,使用DESC来查看学生表和班级表可以看出,grade表中...
  • 添加主键约束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID);   有三种形式的外键约束: 1、普通外键约束(如果存在子表引用父...3、置空外键约束(可删除存在引用的父表记...
  • MySQL外键约束(FOREIGN KEY)是什么?

    千次阅读 2020-05-16 18:02:40
    对MySQL中的外键约束从基础知识开始,说明了创建外键约束的原则,语法及特性,用案例的方式对外键约束进行解说。
  • Mysql外键约束

    2021-01-18 20:31:51
    目前只有InnoDB引擎类型支持外键约束。InnoDB中外键约束定义的语法如下:[CONSTRAINT [symbol]] FOREIGN KEY[index_name] (index_col_name, ...)REFERENCES tbl_name (index_col_name,...)[ON DELETE reference_op.....
  • 约束: 约束保证数据的完整性和...按功能来分则分为:非空约束,主键约束,唯一约束,默认约束,外键约束  FOREIGN KEYp: 外键约束,保持数据一致性,完整性。实现一对一或一对多关系。  外键约束
  • 外键约束 -- 创建db2数据库 CREATE DATABASE db2; -- 使用db2数据库 USE db2; /* 外键约束 标准语法: CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主表主键列名) */ -- 建表时添加外键...
  • 外键约束

    千次阅读 2018-09-27 18:09:19
    如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键
  • mysql外键约束的写法:【[CONSTRAINT ] FOREIGN KEY 字段名 REFERENCES 主键列1】。...(推荐学习:mysql教程)具体的语法格式如下:MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,412
精华内容 15,764
关键字:

创建外键约束的语法