广告
返回顶部
首页 > 资讯 > 数据库 >mysql建表时如何设置外键
  • 280
分享到

mysql建表时如何设置外键

2024-04-02 19:04:59 280人浏览 八月长安
摘要

Mysql建表时如何设置外键?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql建表时设置外键的方法:在“CREATE

Mysql建表时如何设置外键?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

mysql建表时设置外键的方法:在“CREATE TABLE”语句中,通过“[CONSTRaiNT <外键名>] FOREIGN KEY 字段名 [,字段名2,…] REFERENCES <主表名> 主键列1 [,主键列2,…]”语句设置。

Mysql 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

在创建表时设置外键约束

在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键,具体的语法格式如下:

[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]

示例

为了展现表与表之间的外键关系,本例在 test_db 数据库中创建一个部门表 tb_dept1,表结构如下表所示。

字段名称数据类型备注
idINT(11)部门编号
nameVARCHAR(22)部门名称
locationVARCHAR(22)部门位置

创建 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建表时如何设置外键大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: mysql建表时如何设置外键

本文链接: https://www.lsjlt.com/news/52150.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql建表时如何设置外键
    mysql建表时如何设置外键?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql建表时设置外键的方法:在“CREATE...
    99+
    2022-10-18
  • mysql创建表时怎么设置外键
    在MySQL中,设置外键需要使用FOREIGN KEY关键字。首先,需要确保两个表都已经创建。然后,在创建表时,可以在列的定义中使用...
    99+
    2023-09-26
    mysql
  • mysql创建表时设置外键约束的方法
    MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。...
    99+
    2022-10-18
  • mysql创建表怎么设置外键关联
    在MySQL中,可以通过在创建表时使用FOREIGN KEY关键字来设置外键关联。下面是一个示例:```sqlCREATE TABL...
    99+
    2023-08-30
    mysql
  • mysql建表时设置主键的方法
    mysql建表时设置主键的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!设置方法:在“CREATE TABLE”语句中...
    99+
    2022-10-18
  • Mysql中如何设置外键
    在 MySQL 中,可以使用 FOREIGN KEY 约束来设置外键。外键约束用于确保关系数据库中的数据的完整性和一致性。以下是在 ...
    99+
    2023-10-26
    Mysql
  • mysql的外键如何设置
    这篇文章主要介绍“mysql的外键如何设置”,在日常操作中,相信很多人在mysql的外键如何设置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql的外键如何设置”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-06
  • phpmyadmin新建数据表时如何设置主键
    这篇文章主要介绍phpmyadmin新建数据表时如何设置主键,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!打开phpMyAdmin应用软件,在登录页面输入数据库名和登录密码,然后点击...
    99+
    2022-10-18
  • sql创建表如何设置主键
    在SQL中,可以通过使用`PRIMARY KEY`关键字来设置主键。主键是一列或一组列,用于唯一标识表中的每一行数据。以下是创建表并...
    99+
    2023-09-26
    sql
  • powerdesigner如何设置外键
    本文小编为大家详细介绍“powerdesigner如何设置外键”,内容详细,步骤清晰,细节处理妥当,希望这篇“powerdesigner如何设置外键”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。powerdesi...
    99+
    2023-07-05
  • navicat如何设置外键
    小编给大家分享一下navicat如何设置外键,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!打开Navicat打开数据表所在的数据库,右击需要新增字段的数据库表,然后点击【设计表】。此时进入...
    99+
    2022-10-18
  • MySQL外键约束设置失败如何解决
    在MySQL中,如果外键约束设置失败,可能有以下几种原因和解决方法: 数据类型不匹配:请确保外键字段和参考字段的数据类型一致。 ...
    99+
    2023-10-24
    MySQL
  • mysql如何建立外键约束
    小编给大家分享一下mysql如何建立外键约束,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql建立外键约束的方法:直接执行【CREATE TABLE stu(sid INT PRIMAR...
    99+
    2022-10-18
  • mysql创建表,设置表主键id从1开始自增
    一.问题描述 当我们在做项目的时候,创建一张用户表,如何让该表的主键id从0开始自增?网上搜索了很多解决方案,最后发现了一种方法必实现且有效的方案。下面就来介绍实现方法 二.解决方案 1.实现步骤 (1)创建一张新表,规定好自增...
    99+
    2023-09-02
    java mysql idea mybatis Powered by 金山文档
  • sql如何设置两个外键
    SQL中,可以通过FOREIGN KEY约束来设置两个或多个外键。下面是一个示例,说明如何设置两个外键:```CREATE TABL...
    99+
    2023-10-12
    sql
  • sql数据库如何设置外键
    在 SQL 数据库中,可以使用以下步骤来设置外键:1. 创建主表和从表。主表包含要作为主键的列,从表包含要作为外键的列。```CRE...
    99+
    2023-10-12
    sql数据库
  • navicat中应该如何设置外键
    小编给大家分享一下navicat中应该如何设置外键,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、打开我的navicat,然后...
    99+
    2022-10-18
  • mysql在表中设置外键实现的是哪种数据完整性
    小编给大家分享一下mysql在表中设置外键实现的是哪种数据完整性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在表中设置外键实现...
    99+
    2022-10-18
  • 如何在表中添加“创建于”列来设置 MySQL 中的时间戳?
    您需要使用 ALTER 命令将创建的 at 列添加到 MySQL 中已创建的表中。让我们首先创建一个表。创建表的查询如下。这是没有“创建于”列的表格mysql> create table formDemo - > ( ...
    99+
    2023-10-22
  • 如何在mysql中使用foreign key创建外键
    如何在mysql中使用foreign key创建外键?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、说明表中的foreign key指向另一表中的primar...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作